
/* Caribbean Vibes tropical treatment for customer account, cart and checkout pages. */
.cv-customer-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 18%,rgba(242,184,75,.18) 0 90px,transparent 92px),
    radial-gradient(circle at 94% 30%,rgba(233,120,36,.12) 0 125px,transparent 127px),
    linear-gradient(180deg,#fffaf1 0%,#fff6e8 46%,#f6efe1 100%);
  color:var(--ink,#1d2420);
}
.cv-customer-page .cv-customer-header{background:#fff;border-bottom:1px solid #eadfcd;box-shadow:0 7px 24px rgba(22,55,39,.06)}
.cv-customer-page .cv-customer-header .option1-navwrap{min-height:126px}
.cv-customer-page .cv-customer-header .option1-logo{flex-basis:395px;max-width:39%}
.cv-customer-page .cv-customer-header .option1-logo img{max-height:116px}
.cv-customer-page .cv-customer-header .option1-nav{gap:25px}
.cv-customer-page .cv-customer-header .option1-nav a{font-size:.91rem}
.cv-customer-page .cv-customer-header .option1-nav .option1-cart{padding:12px 17px}

.cv-auth-shell{position:relative;max-width:1020px;padding-top:54px;padding-bottom:76px}
.cv-auth-shell:before,.cv-auth-shell:after{content:"";position:absolute;pointer-events:none;z-index:0;opacity:.12}
.cv-auth-shell:before{width:150px;height:210px;left:-55px;top:88px;background:radial-gradient(ellipse at 50% 100%,transparent 0 33%,#145a3a 34% 45%,transparent 46%),radial-gradient(ellipse at 40% 82%,#145a3a 0 28%,transparent 30%);transform:rotate(-22deg)}
.cv-auth-shell:after{width:155px;height:210px;right:-52px;bottom:75px;background:radial-gradient(ellipse at 50% 100%,transparent 0 33%,#e97824 34% 45%,transparent 46%),radial-gradient(ellipse at 40% 82%,#e97824 0 28%,transparent 30%);transform:rotate(20deg)}
.cv-tropical-card{position:relative;z-index:1;overflow:hidden;border:1px solid #e6d8c3;border-top:5px solid #f2b84b;border-radius:24px;padding:34px 36px 31px;box-shadow:0 20px 55px rgba(38,62,46,.13);background:rgba(255,255,255,.97)}
.cv-tropical-card:before{content:"";position:absolute;inset:0 0 auto 0;height:9px;background:linear-gradient(90deg,#145a3a 0 32%,#f2b84b 32% 52%,#e97824 52% 75%,#b63c2f 75% 100%)}
.cv-tropical-card h1{font-family:Georgia,"Times New Roman",serif;color:#0d3d29;font-size:clamp(2.1rem,5vw,3.05rem);line-height:1.02;margin:9px 0 13px;text-align:center}
.cv-tropical-card>p{max-width:660px;margin:0 auto 24px;color:#657067;text-align:center;font-size:1.03rem}
.cv-tropical-card .account-form{max-width:100%}
.cv-tropical-card .account-form label{color:#183d2c}
.cv-tropical-card .account-form input,.cv-tropical-card .account-form textarea,.cv-tropical-card .account-form select{border:1px solid #d9cdbd;background:#fffdf9;box-shadow:inset 0 1px 2px rgba(0,0,0,.025)}
.cv-tropical-card .account-form input:focus,.cv-tropical-card .account-form textarea:focus,.cv-tropical-card .account-form select:focus{outline:3px solid rgba(242,184,75,.22);border-color:#c8941e}
.cv-tropical-card .btn-primary{background:linear-gradient(135deg,#e97824,#ca5424);box-shadow:0 8px 18px rgba(202,84,36,.2)}
.cv-tropical-card .btn-primary:hover{filter:brightness(.96)}
.cv-tropical-card .account-links{border-top:1px solid #eee2d3;padding-top:17px;margin-top:20px}
.cv-tropical-card .account-links a{color:#145a3a}

.cv-order-surface{padding-top:43px;padding-bottom:72px}
.cv-page-heading{position:relative;margin:0 0 26px;padding:27px 30px;border-radius:23px;background:linear-gradient(120deg,#0d3d29 0%,#145a3a 61%,#28704e 100%);color:#fff;overflow:hidden;box-shadow:0 15px 36px rgba(13,61,41,.16)}
.cv-page-heading:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-72px;top:-105px;border:34px solid rgba(242,184,75,.16);box-shadow:-65px 92px 0 -44px rgba(233,120,36,.25)}
.cv-page-heading h1{position:relative;z-index:1;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,5vw,3.5rem);line-height:1;margin:3px 0 8px;color:#fff}
.cv-page-heading p{position:relative;z-index:1;margin:0;color:#edf5ef;font-size:1.02rem}
.cv-page-kicker{position:relative;z-index:1;display:block;color:#f2c95a;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.74rem}

.cv-cart-page .cart-line{border:1px solid #e4d8c5;border-radius:18px;box-shadow:0 9px 25px rgba(40,57,45,.07)}
.cv-cart-page .cart-line h3{color:#0d3d29;font-size:1.12rem}
.cv-cart-page .cart-addons{background:#f1f6ee;border:1px solid #e0eadc}
.cv-cart-page .cart-summary{padding:19px 22px;border:1px solid #e1d4c1;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(40,57,45,.06)}
.cv-cart-page .cart-summary strong{color:#0d3d29}
.cv-cart-page .cart-checkout-row .btn:not(.alt){background:linear-gradient(135deg,#e97824,#c95726);box-shadow:0 8px 17px rgba(201,87,38,.18)}
.cv-cart-page .empty-state{border-radius:22px;border:1px solid #e3d6c3;box-shadow:0 12px 32px rgba(40,57,45,.08)}
.cv-cart-page .cart-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cv-cart-page .cart-stepper{display:grid;grid-template-columns:42px 46px 42px;align-items:center;border:1px solid #d8cba9;border-radius:12px;overflow:hidden;background:#fff}.cv-cart-page .cart-stepper strong{display:grid;place-items:center;min-height:42px;border-left:1px solid #e7dec8;border-right:1px solid #e7dec8;color:#123f2d}.cv-cart-page .cart-qty-button{width:42px;height:42px;border:0;background:#f8f2df;color:#164b35;font-size:1.45rem;font-weight:900;cursor:pointer}.cv-cart-page .cart-qty-button:hover{background:#f1cc3b}.cv-cart-page .cart-qty-button:disabled{opacity:.5;cursor:wait}.cv-cart-page .btn.alt.cart-edit-button{min-height:44px;padding:9px 17px;gap:7px;border:2px solid #e3bd2d;border-radius:11px;background:#0d4b36;color:#fff9df;font-weight:900;box-shadow:0 4px 11px rgba(13,75,54,.2)}.cv-cart-page .btn.alt.cart-edit-button span{color:#f2cc35;font-size:1.15rem;line-height:1}.cv-cart-page .btn.alt.cart-edit-button:hover,.cv-cart-page .btn.alt.cart-edit-button:focus-visible{background:#f2cc35;color:#123f2d;border-color:#c99d13;box-shadow:0 6px 15px rgba(166,126,12,.28)}.cv-cart-page .btn.alt.cart-edit-button:hover span,.cv-cart-page .btn.alt.cart-edit-button:focus-visible span{color:#123f2d}.cv-cart-page .cart-auto-note{color:#696156;font-size:.9rem}.cart-edit-modal[hidden],.cart-combo-flavor[hidden],.cart-update-toast[hidden]{display:none!important}.cart-update-toast{position:fixed;left:50%;bottom:24px;z-index:6000;transform:translateX(-50%);padding:12px 18px;border:2px solid #e2bd2c;border-radius:999px;background:#fff9e6;color:#164531;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25)}.cart-update-toast.error{border-color:#a9362e;background:#fff0ec;color:#8b261f}

.cv-checkout-page .checkout-wrap{max-width:900px}
.cv-checkout-heading{margin-bottom:23px}
.cv-checkout-heading .checkout-title-row{position:relative;z-index:1;margin:0;align-items:center}
.cv-checkout-heading .checkout-title-row h1{margin:3px 0 8px;color:#fff}
.cv-checkout-heading .checkout-title-row>a{color:#ffe09a;font-weight:900;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08)}
.cv-checkout-page .checkout-delivery-summary,.cv-checkout-page .checkout-form{background:#fff;border:1px solid #e2d5c2;border-radius:19px;box-shadow:0 10px 28px rgba(40,57,45,.07)}
.cv-checkout-page .checkout-delivery-summary{padding:18px 20px;margin-bottom:18px;border-left:5px solid #f2b84b}
.cv-checkout-page .checkout-delivery-summary strong{color:#0d3d29}
.cv-checkout-page .checkout-form{max-width:none;padding:25px}
.cv-checkout-page .checkout-form label{color:#183d2c}
.cv-checkout-page .checkout-form input,.cv-checkout-page .checkout-form textarea,.cv-checkout-page .checkout-form select{background:#fffdf9;border-color:#d7cbb9}
.cv-checkout-page .checkout-form input:focus,.cv-checkout-page .checkout-form textarea:focus{outline:3px solid rgba(242,184,75,.22);border-color:#c8941e}
.cv-checkout-page .checkout-account-offer{background:#f7f3e9;border-color:#e4d7c4}
.cv-checkout-page .checkout-totals{margin-top:22px;padding:18px 19px;border-radius:14px;background:#f3f7f1;border:1px solid #dee9da}
.cv-checkout-page .checkout-pay{width:100%;margin-top:18px;min-height:52px;background:linear-gradient(135deg,#e97824,#c95726);font-size:1.04rem;box-shadow:0 9px 19px rgba(201,87,38,.2)}

@media(max-width:1000px){
  .cv-customer-page .cv-customer-header .option1-navwrap{min-height:108px}
  .cv-customer-page .cv-customer-header .option1-logo{flex-basis:330px}
  .cv-customer-page .cv-customer-header .option1-nav{gap:15px}
  .cv-customer-page .cv-customer-header .option1-nav a{font-size:.82rem}
}
@media(max-width:820px){
  .cv-customer-page .cv-customer-header .option1-navwrap{min-height:96px}
  .cv-customer-page .cv-customer-header .option1-logo{max-width:none;flex:0 1 300px}
  .cv-customer-page .cv-customer-header .option1-logo img{max-height:88px}
  .cv-customer-page .cv-customer-header .option1-nav{top:96px;gap:0}
  .cv-auth-shell{padding-top:32px}
  .cv-auth-shell:before,.cv-auth-shell:after{display:none}
}
@media(max-width:600px){
  .cv-customer-page .cv-customer-header .option1-navwrap{min-height:82px}
  .cv-customer-page .cv-customer-header .option1-logo{flex-basis:245px}
  .cv-customer-page .cv-customer-header .option1-logo img{max-height:76px}
  .cv-customer-page .cv-customer-header .option1-nav{top:82px}
  .cv-tropical-card{padding:27px 18px 23px;border-radius:19px;margin-top:0}
  .cv-tropical-card h1{text-align:left}
  .cv-tropical-card>p{text-align:left}
  .cv-order-surface{padding-top:25px;padding-bottom:48px}
  .cv-page-heading{padding:23px 20px;border-radius:18px}
  .cv-page-heading:after{right:-120px}
  .cv-checkout-heading .checkout-title-row{align-items:flex-start;gap:10px;flex-direction:column}
  .cv-checkout-page .checkout-form{padding:19px 16px}
  .cv-cart-page .cart-summary{padding:16px}
  .cv-cart-page .cart-item-actions{width:100%;justify-content:space-between}.cv-cart-page .cart-edit-button{flex:0 0 auto;min-width:78px}.cv-cart-page .cart-stepper{grid-template-columns:46px 48px 46px}.cv-cart-page .cart-qty-button{width:46px;height:46px}.cart-update-toast{bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 28px);text-align:center}
}

/* Match the approved homepage header/logo alignment exactly. */
.cv-customer-page .cv-customer-header .option1-navwrap{
  width:100% !important;
  max-width:none !important;
  padding-left:4.5vw !important;
  padding-right:4.5vw !important;
  box-sizing:border-box !important;
}
.cv-customer-page .cv-customer-header .option1-logo{
  margin-left:0 !important;
  margin-right:0 !important;
  flex:0 0 430px !important;
  max-width:34vw !important;
}
.cv-customer-page .cv-customer-header .option1-logo img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}
.cv-customer-page .cv-customer-header .option1-nav{
  margin-left:auto !important;
}

@media(max-width:1199px){
  .cv-customer-page .cv-customer-header .option1-navwrap{
    padding-left:28px !important;
    padding-right:28px !important;
  }
  .cv-customer-page .cv-customer-header .option1-logo{
    flex-basis:350px !important;
    max-width:36vw !important;
  }
}
@media(max-width:900px){
  .cv-customer-page .cv-customer-header .option1-navwrap{
    min-height:88px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .cv-customer-page .cv-customer-header .option1-logo{
    flex:0 1 255px !important;
    max-width:62vw !important;
  }
  .cv-customer-page .cv-customer-header .option1-logo img{
    max-height:78px !important;
  }
  .cv-customer-page .cv-customer-header .option1-nav{
    top:88px !important;
  }
}
@media(max-width:640px){
  .cv-customer-page .cv-customer-header .option1-navwrap{
    min-height:72px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .cv-customer-page .cv-customer-header .option1-logo{
    flex-basis:205px !important;
    max-width:70vw !important;
  }
  .cv-customer-page .cv-customer-header .option1-logo img{
    max-height:64px !important;
  }
  .cv-customer-page .cv-customer-header .option1-nav{
    top:72px !important;
  }
}

/* Shared palm-and-cream journey treatment: cart, checkout and authentication. */
.cv-customer-page{
  background-color:#07392c !important;
  background-image:url('../images/order-palm-background.jpg') !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.cv-customer-page .cv-customer-header{
  background:
    linear-gradient(105deg,rgba(255,253,242,.97),rgba(249,237,197,.91)),
    url('../images/hero-tropical-clean.jpg') right 37%/620px auto no-repeat !important;
  border-bottom:4px solid #d7a91e !important;
  box-shadow:0 5px 18px rgba(0,37,25,.27) !important;
}
.cv-customer-page .cv-customer-header .option1-nav a:not(.option1-cart){color:#164d38 !important}
.cv-customer-page .cv-customer-header .option1-nav a:hover,
.cv-customer-page .cv-customer-header .option1-nav a:focus{color:#9b6d00 !important}
.cv-customer-page .cv-order-surface,
.cv-customer-page .cv-auth-shell{position:relative;z-index:1}
.cv-customer-page .cart-line,
.cv-customer-page .cart-summary,
.cv-customer-page .empty-state,
.cv-customer-page .checkout-form,
.cv-customer-page .checkout-delivery-summary,
.cv-customer-page .cv-tropical-card{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,250,235,.98)) !important;
  border-color:#d8ad29 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.25) !important;
}
.cv-customer-page .cv-page-heading{border:2px solid #d8ad29;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.cv-auth-page .cv-auth-shell{padding-left:14px;padding-right:14px}
.cv-auth-page .cv-auth-shell:before,
.cv-auth-page .cv-auth-shell:after{display:none !important;content:none !important}
@media(max-width:900px){
  .cv-customer-page{background-attachment:scroll !important;background-position:center top !important}
}
@media(max-width:640px){
  .cv-customer-page{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background-image:url('../images/order-palm-background-mobile.jpg') !important;
    background-position:center top !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-attachment:scroll !important;
  }
  .cv-customer-page .cv-customer-header{border-bottom-width:3px !important}
  .cv-customer-page .cv-customer-header .option1-logo img{max-height:64px !important}
  .cv-customer-page .cv-order-surface,
  .cv-customer-page .cv-auth-shell{width:calc(100% - 24px) !important;max-width:calc(100% - 24px) !important;box-sizing:border-box !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important}
  .cv-customer-page .cart-line,
  .cv-customer-page .cart-summary,
  .cv-customer-page .empty-state,
  .cv-customer-page .checkout-form,
  .cv-customer-page .checkout-delivery-summary,
  .cv-customer-page .cv-tropical-card{
    background:rgba(255,250,235,.94) !important;
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
  }
  .cv-customer-page .cv-page-heading{background:linear-gradient(120deg,rgba(13,61,41,.93),rgba(20,90,58,.90)) !important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .cv-customer-page input,
  .cv-customer-page textarea,
  .cv-customer-page select{background-color:rgba(255,255,255,.98) !important}
}
