/* EsimBrand PREMIUM V5.7.1
   Strong premium visual layer. Visual only: no payment/provider logic. */
:root{
  --eb57-ink:#102B34;
  --eb57-deep:#103A45;
  --eb57-mid:#17606A;
  --eb57-mint:#43D98B;
  --eb57-soft:#F3F8F7;
  --eb57-cloud:#F8FBFB;
  --eb57-line:#D9E7E6;
  --eb57-muted:#657C83;
  --eb57-shadow:0 18px 50px rgba(15,47,55,.08);
  --eb57-shadow-lg:0 28px 90px rgba(15,47,55,.14);
}

/* GLOBAL */
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#FBFDFD 0%,#F2F7F6 100%)!important;color:var(--eb57-ink)!important}
.wrap{width:min(1240px,calc(100% - 40px))!important;margin-inline:auto!important}
.site-header,.premium-header,.v54-header,.v56-header{
  position:sticky!important;top:0!important;z-index:200!important;
  background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(217,231,230,.88)!important;
  box-shadow:0 8px 30px rgba(15,47,55,.04)!important;
}
.premium-nav,.v54-nav{min-height:80px!important}
.premium-main-nav a,.nav-login{font-size:14px!important;font-weight:780!important;color:#36535B!important}
.premium-main-nav a:hover,.nav-login:hover{color:var(--eb57-deep)!important}
.premium-btn,.v54-search-cta,.v54-product-cta,.v54-pay-button,.v54-cart-mobilebar button,.v54-product-mobilebar button{
  background:linear-gradient(135deg,#48E08D,#35CD80)!important;color:#0D2C31!important;
  border:0!important;box-shadow:0 12px 28px rgba(67,217,139,.24)!important;
  font-weight:900!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
.premium-btn:hover,.v54-search-cta:hover,.v54-product-cta:hover,.v54-pay-button:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px rgba(67,217,139,.28)!important}
.cart-button{border:1px solid var(--eb57-line)!important;background:#fff!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(15,47,55,.05)!important}

/* HOME HERO — search no longer overlaps the copy */
.v54-hero,.v56-hero{
  padding:28px 0 54px!important;
  background:
    radial-gradient(circle at 2% 0%,rgba(211,235,244,.78),transparent 35%),
    radial-gradient(circle at 98% 4%,rgba(247,226,233,.76),transparent 32%),
    linear-gradient(180deg,#F9FCFC 0%,#F2F7F7 100%)!important;
}
.v54-hero .wrap,.v56-hero .wrap{display:block!important}
.v54-hero-panel,.v56-hero-panel{
  position:relative!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr)!important;
  min-height:570px!important;overflow:hidden!important;margin:0!important;
  border:1px solid rgba(217,231,230,.95)!important;border-radius:34px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,250,250,.92))!important;
  box-shadow:var(--eb57-shadow-lg)!important;
}
.v54-hero-panel:before,.v56-hero-panel:before{content:"";position:absolute;inset:17px;border-radius:26px;border:1px solid rgba(255,255,255,.75);pointer-events:none}
.v54-hero-copy{
  position:relative!important;z-index:3!important;padding:66px 56px 50px!important;max-width:none!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.v54-hero-copy h1{font-size:clamp(54px,5vw,78px)!important;line-height:.94!important;letter-spacing:-.065em!important;color:var(--eb57-deep)!important;max-width:660px!important;margin:14px 0 0!important}
.v54-hero-copy h2{font-size:31px!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#35545C!important;margin:19px 0 0!important;max-width:590px!important}
.v54-hero-copy h2 span{color:#D75F83!important}
.v54-hero-copy>p{font-size:16px!important;line-height:1.72!important;color:var(--eb57-muted)!important;max-width:610px!important;margin:18px 0 0!important}
.v54-proofline{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:20px!important}
.v54-proofline span{padding:9px 12px!important;border:1px solid var(--eb57-line)!important;border-radius:999px!important;background:rgba(255,255,255,.86)!important;font-size:12px!important;font-weight:800!important;color:#34525A!important}
.v54-hero-visual{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;padding:26px 26px 26px 0!important;overflow:visible!important}
.v54-hero-visual img{width:100%!important;height:100%!important;min-height:518px!important;object-fit:cover!important;object-position:center!important;border-radius:28px!important;box-shadow:0 22px 58px rgba(15,47,55,.14)!important}
.v54-hero-visual:after{display:none!important}

/* Search becomes its own premium panel BELOW hero */
.v54-search,.v56-search{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;z-index:40!important;
  width:min(1120px,calc(100% - 42px))!important;margin:24px auto 0!important;padding:22px!important;
  border:1px solid var(--eb57-line)!important;border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;
  box-shadow:var(--eb57-shadow-lg)!important;overflow:visible!important;
}
.v54-search-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:0 0 17px!important}
.v54-search-title h3{margin:2px 0 0!important;font-size:30px!important;line-height:1.05!important;letter-spacing:-.045em!important;color:var(--eb57-deep)!important}
.v54-search-kicker,.v54-kicker,.v54-chip{font-size:11px!important;letter-spacing:.16em!important;font-weight:900!important;color:#28717B!important}
.v54-live-price,.v55-live-price{
  min-width:230px!important;display:flex!important;align-items:center!important;gap:10px!important;
  padding:12px 15px!important;border-radius:18px!important;border:1px solid #DCEBDD!important;
  background:linear-gradient(135deg,#F2FBF6,#FAFDFC)!important;box-shadow:0 10px 24px rgba(15,47,55,.05)!important;
}
.v54-search-main{display:grid!important;grid-template-columns:minmax(380px,1.5fr) minmax(330px,1fr) 240px!important;gap:15px!important;align-items:end!important}
.v54-combobox,.v54-duration{min-width:0!important}
.v54-combobox>label,.v54-duration>span{display:block!important;margin:0 0 9px!important;font-size:11px!important;letter-spacing:.10em!important;text-transform:uppercase!important;font-weight:900!important;color:#526B72!important}
.v54-input-shell{display:flex!important;align-items:center!important;height:66px!important;border:1px solid var(--eb57-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important}
.v54-input-shell input{height:100%!important;min-width:0!important;flex:1!important;border:0!important;outline:0!important;background:transparent!important;font-size:17px!important;color:#17343C!important}
.v54-search-icon{display:grid!important;place-items:center!important;width:52px!important;color:#4C6870!important}
.v54-day-pills{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}
.v54-day-pills button{height:56px!important;min-width:0!important;border:1px solid var(--eb57-line)!important;border-radius:15px!important;background:#fff!important;color:#2A4750!important;font-weight:850!important}
.v54-day-pills button.is-active{background:#EAF7F1!important;border-color:#8ED5B2!important;color:#0B624C!important;box-shadow:0 8px 18px rgba(67,217,139,.12)!important}
.v54-search-cta{height:66px!important;border-radius:18px!important;font-size:15px!important}
.v54-results{z-index:999!important;border:1px solid var(--eb57-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 26px 65px rgba(15,47,55,.17)!important}
.v54-result{border-radius:14px!important}.v54-result:hover{background:#F2F8F7!important}
.v54-trustbar,.v56-trustbar{
  width:min(1120px,calc(100% - 42px))!important;margin:14px auto 0!important;padding:0!important;
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;
  border-radius:20px!important;background:linear-gradient(135deg,#103A45,#155561)!important;
  box-shadow:var(--eb57-shadow)!important;overflow:hidden!important;
}
.v54-trustbar>div{padding:16px 18px!important;border-right:1px solid rgba(255,255,255,.10)!important}
.v54-trustbar>div:last-child{border-right:0!important}
.v54-trustbar b{font-size:13px!important;color:#fff!important}.v54-trustbar small{font-size:10px!important;color:#BCD1D5!important}
.v54-metrics{background:linear-gradient(135deg,#103A45,#155561)!important;border:0!important}

/* Main Home blocks */
.v54-section{padding:78px 0!important}
.v54-intro-grid,.v54-faq-grid,.v54-compare-grid{gap:46px!important}
.v54-title-row h2,.v54-how h2,.v54-intro-copy h2,.v54-faq-grid h2,.v54-compare h2,.v54-business h2{font-size:clamp(38px,4vw,58px)!important;line-height:.98!important;letter-spacing:-.055em!important;color:var(--eb57-deep)!important}
.v54-intro-steps article,.v54-how-grid article,.v54-destination-card,.v54-blog-grid article,.v54-faq-list details,.v54-compare-card,.v54-business{
  border:1px solid var(--eb57-line)!important;background:#fff!important;box-shadow:var(--eb57-shadow)!important;
}
.v54-intro-steps article,.v54-how-grid article{border-radius:22px!important}
.v54-destination-card,.v54-blog-grid article{transition:transform .18s ease,box-shadow .18s ease!important}
.v54-destination-card:hover,.v54-blog-grid article:hover{transform:translateY(-4px)!important;box-shadow:0 24px 50px rgba(15,47,55,.12)!important}
.v54-business{background:linear-gradient(135deg,#103A45,#157482)!important;color:#fff!important}
.v54-business h2,.v54-business p,.v54-business small{color:#fff!important}
.v54-reasons{background:#EEF5F4!important;border-top:1px solid var(--eb57-line)!important;border-bottom:1px solid var(--eb57-line)!important}
.v54-footer,.v56-footer{background:linear-gradient(180deg,#0E313A,#0D2830)!important}

/* Checkout, product, account */
.v54-cart-product,.v54-checkout-form,.v54-order-summary,.v54-assurance,.v54-product-visual,.v54-plan-card,.v54-auth-card,.v54-auth-visual{
  border:1px solid var(--eb57-line)!important;border-radius:26px!important;background:#fff!important;box-shadow:var(--eb57-shadow)!important;
}
.v54-cart-heading h1,.v54-product-copy h1,.v54-auth-content h1{color:var(--eb57-deep)!important;letter-spacing:-.055em!important}
.v54-auth-page{background:linear-gradient(180deg,#F9FCFC,#F0F6F5)!important}

/* ADMIN — force a real premium dashboard layout */
.admin-shell{background:linear-gradient(180deg,#F7FAFA,#EEF4F4)!important}
.admin-layout{
  display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;min-height:100vh!important;
  align-items:start!important;background:transparent!important;
}
.admin-sidebar{
  display:flex!important;flex-direction:column!important;position:sticky!important;top:0!important;
  width:auto!important;min-width:0!important;height:100vh!important;padding:22px 16px!important;
  background:linear-gradient(180deg,#102F39 0%,#123D47 100%)!important;
  color:#fff!important;overflow-y:auto!important;border-right:1px solid rgba(255,255,255,.08)!important;
}
.admin-sidebar *{box-sizing:border-box}
.admin-sidebar .premium-logo .brand-wordmark-text,.admin-sidebar .brand-wordmark-text,.admin-sidebar .brand{color:#fff!important}
.admin-sidebar p,.admin-sidebar small,.admin-sidebar span{color:#C4D7DB}
.admin-brand-block{padding:6px 10px 19px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.admin-brand-block p{font-size:12px!important;line-height:1.55!important}
.admin-badge{display:inline-flex!important;margin-top:13px!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.08)!important;color:#D7E6E9!important;font-size:10px!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.admin-user-card{display:grid!important;grid-template-columns:42px 1fr!important;gap:11px!important;align-items:center!important;margin:16px 8px 3px!important;padding:12px!important;border-radius:17px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.08)!important}
.admin-user-avatar{width:42px!important;height:42px!important;border-radius:13px!important;display:grid!important;place-items:center!important;background:#fff!important;color:#103A45!important;font-weight:900!important}
.admin-user-card b{color:#fff!important;font-size:13px!important}.admin-user-card span{font-size:10px!important;line-height:1.35!important;word-break:break-word!important}
.admin-nav-groups{margin-top:12px!important}
.admin-section-title{margin:18px 10px 8px!important;color:#82A8AF!important;font-size:9px!important;letter-spacing:.15em!important;text-transform:uppercase!important;font-weight:900!important}
.admin-nav{display:grid!important;gap:6px!important}
.admin-nav a{
  display:grid!important;grid-template-columns:25px 1fr!important;align-items:center!important;gap:10px!important;
  min-height:48px!important;padding:12px 13px!important;border-radius:14px!important;
  color:#D9E8EA!important;text-decoration:none!important;background:transparent!important;font-size:13px!important;font-weight:750!important;
}
.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.11)!important;box-shadow:0 12px 25px rgba(0,0,0,.11)!important}
.admin-link-icon{width:25px!important;height:25px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
.account-sidebar-bottom{margin-top:auto!important;padding-top:16px!important}
.admin-main{min-width:0!important;padding:28px 28px 60px!important;background:transparent!important}
.admin-mobile-nav{display:none!important}

.admin-hero,.admin-panel,.admin-kpi{
  background:rgba(255,255,255,.95)!important;border:1px solid var(--eb57-line)!important;
  border-radius:25px!important;box-shadow:var(--eb57-shadow)!important;color:var(--eb57-ink)!important;
}
.admin-hero{padding:30px 32px!important;margin-bottom:16px!important}
.admin-hero h1{margin:7px 0 9px!important;font-size:42px!important;line-height:1.03!important;letter-spacing:-.05em!important;color:var(--eb57-deep)!important}
.admin-hero p{font-size:15px!important;line-height:1.6!important;color:#687F85!important}
.admin-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important;margin:0 0 17px!important}
.admin-kpi{padding:22px!important}
.admin-kpi small{display:block!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#7B9297!important}
.admin-kpi b{display:block!important;margin-top:8px!important;font-size:31px!important;letter-spacing:-.05em!important;color:var(--eb57-deep)!important}
.admin-kpi span{display:block!important;margin-top:7px!important;font-size:12px!important;color:#71878C!important}
.admin-panel{padding:24px!important;margin-top:17px!important}
.admin-panel h2{font-size:25px!important;letter-spacing:-.035em!important;color:var(--eb57-deep)!important}
.admin-quick-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important}
.admin-quick-grid a{
  min-height:106px!important;padding:18px!important;border:1px solid var(--eb57-line)!important;border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#F7FBFA)!important;color:var(--eb57-deep)!important;text-decoration:none!important;
  font-size:15px!important;font-weight:850!important;box-shadow:0 10px 24px rgba(15,47,55,.04)!important;
}
.admin-quick-grid a:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px rgba(15,47,55,.08)!important}
.admin-quick-grid a span{display:block!important;margin-top:8px!important;color:#6F858A!important;font-size:11px!important;line-height:1.45!important;font-weight:500!important}
.admin-table-wrap{width:100%!important;overflow:auto!important;border:1px solid var(--eb57-line)!important;border-radius:19px!important;background:#fff!important}
.admin-table{width:100%!important;border-collapse:collapse!important}
.admin-table th,.admin-table td{padding:15px 13px!important;border-bottom:1px solid #E5EEEE!important;text-align:left!important;color:#29444B!important;font-size:13px!important}
.admin-table th{font-size:10px!important;letter-spacing:.10em!important;text-transform:uppercase!important;color:#789097!important;background:#F6FAFA!important;font-weight:900!important}
.admin-table tbody tr:hover td{background:#FBFDFD!important}
.v55-status-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important}
.v55-status-grid>div{padding:17px!important;border:1px solid var(--eb57-line)!important;border-radius:17px!important;background:#fff!important}
.v55-status-grid span{display:block!important;color:#789097!important;font-size:11px!important}.v55-status-grid b{display:block!important;margin-top:6px!important;color:var(--eb57-deep)!important;font-size:17px!important}

.v55-admin-form input,.v55-admin-form select,.v55-product-row input,.v55-catalog-toolbar input{
  min-height:56px!important;border:1px solid var(--eb57-line)!important;border-radius:15px!important;background:#fff!important;
  color:#18363E!important;font-size:15px!important;
}
.v55-admin-form input:focus,.v55-admin-form select:focus,.v55-product-row input:focus,.v55-catalog-toolbar input:focus{outline:none!important;border-color:#78C7B4!important;box-shadow:0 0 0 4px rgba(67,217,139,.12)!important}
.v55-product-row{border:1px solid var(--eb57-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 28px rgba(15,47,55,.04)!important}

/* Responsive */
@media(max-width:1180px){
  .v54-hero-panel,.v56-hero-panel{grid-template-columns:1fr!important}
  .v54-hero-visual{padding:0 28px 28px!important}
  .v54-hero-visual img{min-height:380px!important;max-height:450px!important}
  .v54-search-main{grid-template-columns:1fr 1fr!important}.v54-search-cta{grid-column:1/-1!important}
  .admin-layout{grid-template-columns:250px minmax(0,1fr)!important}
  .admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .admin-layout{grid-template-columns:1fr!important}
  .admin-sidebar{display:none!important}
  .admin-main{padding:16px 14px 90px!important}
  .admin-mobile-nav{display:block!important;margin-bottom:14px!important}
  .admin-mobile-top{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
  .admin-mobile-scroll{display:flex!important;gap:8px!important;overflow:auto!important;padding:10px 0 2px!important;scrollbar-width:none!important}
  .admin-mobile-scroll::-webkit-scrollbar{display:none!important}
  .admin-mobile-group{display:flex!important;gap:8px!important}
  .admin-mobile-chip{display:inline-flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;min-height:42px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid var(--eb57-line)!important;background:#fff!important;color:#26434B!important;text-decoration:none!important}
  .admin-mobile-chip.active{background:var(--eb57-deep)!important;color:#fff!important}
  .admin-kpis,.v55-status-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .wrap{width:min(100% - 18px,1240px)!important}
  .premium-nav,.v54-nav{min-height:68px!important}
  .v54-hero,.v56-hero{padding:10px 0 25px!important}
  .v54-hero-panel,.v56-hero-panel{border-radius:0 0 28px 28px!important;min-height:auto!important}
  .v54-hero-copy{padding:32px 17px 18px!important}
  .v54-hero-copy h1{font-size:44px!important;max-width:330px!important}
  .v54-hero-copy h2{font-size:23px!important;max-width:330px!important}
  .v54-hero-copy>p{font-size:13px!important;max-width:330px!important}
  .v54-hero-visual{padding:0 12px 14px!important}
  .v54-hero-visual img{min-height:300px!important;max-height:330px!important;border-radius:22px!important}
  .v54-search,.v56-search{width:calc(100% - 16px)!important;margin:14px auto 0!important;padding:14px!important;border-radius:22px!important}
  .v54-search-title{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .v54-search-title h3{font-size:22px!important}
  .v54-live-price,.v55-live-price{width:100%!important;min-width:0!important}
  .v54-search-main{grid-template-columns:1fr!important;gap:11px!important}
  .v54-input-shell,.v54-search-cta{height:58px!important}
  .v54-input-shell input{font-size:15px!important}
  .v54-day-pills{grid-template-columns:repeat(4,1fr)!important}.v54-day-pills button{height:45px!important}
  .v54-results{position:fixed!important;left:10px!important;right:10px!important;top:82px!important;bottom:10px!important;max-height:none!important;z-index:2500!important;border-radius:22px!important}
  .v54-results-list{max-height:calc(100dvh - 155px)!important}
  .v54-trustbar,.v56-trustbar{width:calc(100% - 16px)!important;grid-template-columns:1fr 1fr!important;border-radius:18px!important}
  .v54-trustbar>div{padding:13px!important}
  .v54-metrics>.wrap{grid-template-columns:1fr 1fr!important}
  .v54-section{padding:55px 0!important}
  .v54-title-row h2,.v54-how h2,.v54-intro-copy h2,.v54-faq-grid h2,.v54-compare h2,.v54-business h2{font-size:34px!important}
  .admin-hero{padding:20px!important}.admin-hero h1{font-size:32px!important}
  .admin-kpis,.admin-quick-grid,.v55-status-grid{grid-template-columns:1fr!important}
  .admin-panel{padding:17px!important}
  .admin-table th,.admin-table td{padding:12px 10px!important;font-size:12px!important}
}