/* ARTEMIDA V151 — banner/link reliability, compact own-VPN layout, readable icons and refined network map */

/* Main page controls: keep CTAs visible, but not louder than the content. */
.featured-reviews-actions{gap:5px!important}
.featured-reviews-actions a{min-height:28px!important;padding:0 9px!important;border-radius:9px!important;font-size:.55rem!important;font-weight:600!important;box-shadow:none!important}
.featured-reviews-actions a.primary{color:var(--muted)!important;background:rgba(255,177,196,.045)!important;border-color:rgba(255,177,196,.13)!important}
.featured-reviews-actions a:hover{color:var(--text)!important;background:rgba(255,177,196,.08)!important}

/* Floating own-VPN teaser. Position is set fresh on every page load by V151 JS. */
.own-vpn-float{right:auto!important;bottom:auto!important;transform:none!important;z-index:140!important;border-color:var(--border-strong)!important;background:linear-gradient(145deg,rgb(var(--theme-rgb)/.055),transparent 80%),var(--surface-solid)!important;cursor:grab!important;touch-action:none!important}
.own-vpn-float a,.own-vpn-float button{cursor:pointer!important;touch-action:manipulation!important}
.own-vpn-float-handle{color:var(--primary)!important;background:rgb(var(--theme-rgb)/.075)!important;border-color:rgb(var(--theme-rgb)/.17)!important}
.own-vpn-float-handle .vicon{width:15px!important;height:15px!important}
.own-vpn-float-actions a{font-weight:590!important;letter-spacing:0!important}
.own-vpn-float-actions .primary{color:var(--text)!important;background:rgb(var(--theme-rgb)/.07)!important;border:1px solid rgb(var(--theme-rgb)/.18)!important}
.own-vpn-float-actions .secondary{color:var(--muted)!important;background:rgb(var(--theme-rgb)/.025)!important}
.own-vpn-float-actions a:hover{color:var(--text)!important;background:rgb(var(--theme-rgb)/.105)!important}

 .own-vpn-float-actions a .vicon{color:inherit!important}
 .own-vpn-float-actions .secondary{border-color:var(--border)!important}
 .own-vpn-float-actions a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* Own VPN: denser vertical rhythm and calmer typography. */
.own-vpn-page .own-vpn-main{padding-top:24px!important}
.own-vpn-page .own-vpn-hero{gap:12px!important}
.own-vpn-page .own-vpn-hero-copy{padding:clamp(24px,3.7vw,44px)!important}
.own-vpn-page .own-vpn-hero-copy h1{margin:14px 0 12px!important;font-size:clamp(2.55rem,5vw,4.9rem)!important}
.own-vpn-page .own-vpn-hero-copy>p{margin-bottom:17px!important;font-size:.88rem!important;line-height:1.52!important}
.own-vpn-page .own-vpn-section,.own-vpn-page .own-vpn-section-tight{padding-top:30px!important}
.own-vpn-page .own-vpn-section-head{margin-bottom:11px!important}
.own-vpn-page .own-vpn-section-head h2{margin:4px 0 4px!important;font-size:clamp(1.35rem,2.5vw,2rem)!important;letter-spacing:-.03em!important}
.own-vpn-page .own-vpn-section-head p{max-width:720px!important;font-size:.7rem!important;line-height:1.45!important}

/* Professional, high-contrast icon tiles instead of emoji-like dark glyphs. */
.own-vpn-page .own-vpn-trust{gap:6px!important;margin-top:15px!important}
.own-vpn-page .own-vpn-trust>span{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:31px!important;padding:4px 9px 4px 5px!important;color:var(--muted)!important;background:rgba(255,255,255,.018)!important;border-color:rgba(255,255,255,.065)!important}
.own-vpn-page .own-vpn-trust .vicon{width:15px!important;height:15px!important;color:#ffc0d2!important}
/* Mask icons need a wrapper effect; use drop-shadow for legibility. */
.own-vpn-page .own-vpn-trust .vicon,.own-vpn-page .own-vpn-step-icon,.own-vpn-page .own-vpn-feature-icon .vicon,.own-vpn-page .own-vpn-support-float .vicon{filter:drop-shadow(0 0 7px rgba(255,177,196,.16))}
.own-vpn-page .own-vpn-support-float{min-height:38px!important;padding:0 11px!important;border-color:rgba(255,177,196,.16)!important;background:rgba(17,16,20,.86)!important;box-shadow:0 10px 30px rgba(0,0,0,.26)!important}
.own-vpn-page .own-vpn-support-float .vicon{width:15px!important;height:15px!important;color:#ffc0d2!important}

/* Three steps and feature panels no longer occupy excessive height. */
.own-vpn-page .own-vpn-flow-three{gap:7px!important}
.own-vpn-page .own-vpn-step{min-height:74px!important;padding:11px 12px!important;gap:10px!important;border-radius:14px!important}
.own-vpn-page .own-vpn-step-icon{width:17px!important;height:17px!important;flex-basis:17px!important;color:#ffc0d2!important;margin-top:2px!important}
.own-vpn-page .own-vpn-step b{margin-bottom:2px!important;font-size:.7rem!important}
.own-vpn-page .own-vpn-step p{font-size:.61rem!important;line-height:1.35!important}
.own-vpn-page .own-vpn-grid-four{gap:7px!important}
.own-vpn-page .own-vpn-feature{min-height:108px!important;padding:12px!important;border-radius:14px!important}
.own-vpn-page .own-vpn-feature-icon{width:31px!important;height:31px!important;margin-bottom:8px!important;border-radius:9px!important;background:rgba(255,177,196,.055)!important}
.own-vpn-page .own-vpn-feature-icon .vicon{width:16px!important;height:16px!important;color:#ffc0d2!important}
.own-vpn-page .own-vpn-feature h3{margin-bottom:3px!important;font-size:.72rem!important}
.own-vpn-page .own-vpn-feature p{font-size:.61rem!important;line-height:1.36!important}

/* Compact prices / trial block. */
.own-vpn-pricing-wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:10px}
.own-vpn-price-board{padding:13px!important}
.own-vpn-price-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.own-vpn-price-card{min-width:0;padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(255,255,255,.018)}
.own-vpn-price-card.is-trial{border-color:rgba(255,177,196,.17);background:rgba(255,177,196,.045)}
.own-vpn-price-card small{display:block;color:var(--muted-2);font-size:.52rem;font-weight:650}
.own-vpn-price-card b{display:block;margin-top:4px;font-size:.9rem;letter-spacing:-.02em}
.own-vpn-price-card span{display:block;margin-top:3px;color:var(--muted);font-size:.55rem}
.own-vpn-partner-note{padding:14px!important;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.own-vpn-partner-note .vicon{width:18px;height:18px;color:#ffc0d2}
.own-vpn-partner-note b{display:block;margin:7px 0 4px;font-size:.78rem}
.own-vpn-partner-note p{margin:0;color:var(--muted);font-size:.63rem;line-height:1.42}
.own-vpn-partner-note a{align-self:flex-start;min-height:31px!important;padding:0 10px!important;font-size:.58rem!important;font-weight:600!important}

/* Live network preview is bounded and clearly scrollable. */
.own-vpn-page .own-vpn-visual-compact{min-height:330px!important;padding:17px!important}
.own-vpn-page .own-vpn-visual-compact .vpn-server-stack{max-height:238px!important;padding-right:5px!important}
.own-vpn-page .vpn-server-card{min-height:43px!important;padding:7px 9px!important}
.own-vpn-page .vpn-server-card .own-vpn-group-icon{color:#ffc0d2!important;background:rgba(255,177,196,.055)!important;border-color:rgba(255,177,196,.14)!important}

/* Refined 2:1 equirectangular map generated from real coastline geometry. */
.own-vpn-map-board{padding:12px!important;border-radius:16px!important}
.own-vpn-map-stage{height:auto!important;aspect-ratio:2/1!important;margin-top:8px!important;border-radius:14px!important;background:radial-gradient(circle at 52% 43%,rgba(255,177,196,.075),transparent 42%),linear-gradient(180deg,rgba(7,8,10,.38),rgba(5,6,8,.69))!important}
.own-vpn-map-stage::before{background-size:42px 42px!important;opacity:.34!important}
.own-vpn-map-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,177,196,.025),transparent 20%,transparent 80%,rgba(255,177,196,.025));box-shadow:inset 0 0 55px rgba(0,0,0,.34)}
.own-vpn-map-shape{inset:5.5% 4%!important;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,177,196,.09))!important;-webkit-mask:url('/static/media/world-network-map-v151.svg') center/100% 100% no-repeat!important;mask:url('/static/media/world-network-map-v151.svg') center/100% 100% no-repeat!important;filter:drop-shadow(0 8px 20px rgba(0,0,0,.25))!important;opacity:.92}
.own-vpn-map-markers{inset:5.5% 4%!important}
.own-vpn-map-marker{z-index:2!important}
.own-vpn-map-marker i{width:8px!important;height:8px!important;border-width:2px!important;background:#ff9dbc!important;box-shadow:0 0 0 4px rgba(255,157,188,.1),0 0 18px rgba(255,157,188,.42)!important;animation:ownVpnPulse 2.4s ease-in-out infinite}
.own-vpn-map-marker small{color:#eee!important;background:rgba(8,9,11,.88)!important;border-color:rgba(255,177,196,.13)!important;font-size:.43rem!important}
.own-vpn-map-marker b{border-color:rgba(255,177,196,.16)!important;background:rgba(9,9,12,.95)!important}
.own-vpn-map-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.own-vpn-map-legend span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid rgba(255,255,255,.055);border-radius:999px;color:var(--muted-2);background:rgba(255,255,255,.014);font-size:.51rem}
.own-vpn-map-legend i{width:6px;height:6px;border-radius:50%;background:#ff9dbc;box-shadow:0 0 10px rgba(255,157,188,.4)}
@keyframes ownVpnPulse{0%,100%{transform:scale(.9);opacity:.78}50%{transform:scale(1.12);opacity:1}}

/* Location drawer stays half-closed by default; the expanded content scrolls. */
.own-vpn-location-drawer>summary{min-height:48px!important}
.own-vpn-location-drawer .own-vpn-country-grid-dynamic{max-height:260px!important}

/* CTA/footer remains small. */
.own-vpn-page .own-vpn-cta{margin-top:30px!important;padding:14px 16px!important}
.own-vpn-page .own-vpn-cta h2{font-size:1.25rem!important}
.own-vpn-page .own-vpn-cta p{font-size:.65rem!important}

@media(max-width:900px){
  .own-vpn-pricing-wrap{grid-template-columns:1fr}
  .own-vpn-price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .own-vpn-page .own-vpn-flow-three{grid-template-columns:1fr!important}
  .own-vpn-page .own-vpn-step{min-height:64px!important}
  .own-vpn-map-stage{aspect-ratio:1.72/1!important}
}
@media(max-width:520px){
  .own-vpn-float{width:min(300px,calc(100vw - 20px))!important}
  .own-vpn-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .own-vpn-price-card.is-trial{grid-column:1/-1}
  .own-vpn-page .own-vpn-grid-four{grid-template-columns:1fr 1fr!important}
  .own-vpn-page .own-vpn-feature{min-height:98px!important}
  .own-vpn-map-stage{aspect-ratio:1.45/1!important}
}
.own-vpn-map-legend .vicon{width:11px;height:11px;color:#ffc0d2}
