:root{
  --cream:#F6F2EC;
  --blush:#EAD6CF;
  --dusty:#C68E8A;
  --taupe:#B7A897;
  --cocoa:#3B2A23;
  --sage:#8A937A;
  --white:#fffdf8;
  --ink:#2d211c;
  --muted:#756962;
  --line:rgba(59,42,35,.14);
  --shadow:0 20px 60px rgba(59,42,35,.08);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}
.site-body{min-height:100vh;display:flex;flex-direction:column}
.site-body main{flex:1 0 auto}
h1,h2,h3,.display-title{font-family:'Playfair Display',Georgia,serif;color:var(--cocoa);letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,5vw,4rem);font-weight:700}.display-title{font-size:clamp(3rem,8vw,6rem);line-height:.95;font-weight:700}h2{font-size:clamp(1.65rem,3vw,2.6rem)}h3{font-size:1.25rem}.muted{color:var(--muted)}.lead-soft{font-size:1.15rem;color:var(--muted);max-width:620px}.eyebrow{color:var(--sage);text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.78rem}.nav-soft{background:rgba(246,242,236,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand-mini img{height:56px;width:auto}.admin-brand img{height:46px;width:auto}.nav-link{color:var(--cocoa);font-weight:600}.nav-link:hover{color:var(--dusty)}.btn{border-radius:999px;font-weight:700;padding:.72rem 1.25rem}.btn-lg{padding:.9rem 1.55rem}.btn-cocoa{background:var(--cocoa);border-color:var(--cocoa);color:#fff}.btn-cocoa:hover{background:#221712;border-color:#221712;color:#fff}.btn-outline-cocoa{border-color:var(--cocoa);color:var(--cocoa);background:transparent}.btn-outline-cocoa:hover{background:var(--cocoa);color:white}.link-cocoa{color:var(--cocoa);font-weight:700;text-decoration:none}.hero-wrap{background:radial-gradient(circle at 80% 10%,rgba(234,214,207,.8),transparent 34%),linear-gradient(135deg,var(--cream),#fffaf2)}.logo-card{background:rgba(255,253,248,.68);border:1px solid var(--line);border-radius:38px;padding:2.5rem;box-shadow:var(--shadow)}.info-card,.flavor-card,.soft-panel,.admin-panel,.metric-card,.deadline-card,.payment-note,.order-confirm-box{background:rgba(255,253,248,.78);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.info-card{padding:2rem}.info-card span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blush);color:var(--cocoa);font-weight:800;margin-bottom:1rem}.flavor-card{padding:1.35rem}.flavor-card h3{margin-top:1rem}.flavor-img-placeholder{height:150px;border-radius:22px;background:linear-gradient(135deg,var(--blush),var(--taupe));display:grid;place-items:center;color:#fff;font-family:'Playfair Display',serif;font-size:1.5rem}.section-heading p{color:var(--muted)}.site-footer{background:var(--cocoa);color:rgba(255,255,255,.76);margin-top:auto!important}.site-footer strong{color:#fff}.site-footer a{color:var(--blush)}.deadline-card{padding:1.2rem;display:grid;gap:.75rem}.deadline-card div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.deadline-card div:last-child{border:0;padding-bottom:0}.deadline-card span{color:var(--muted)}.payment-note{padding:1rem;color:var(--muted)}.soft-panel,.admin-panel{padding:clamp(1.25rem,3vw,2rem)}.soft-accordion .accordion-item{border-color:var(--line);background:rgba(255,253,248,.76)}.soft-accordion .accordion-button{background:rgba(255,253,248,.76);color:var(--cocoa);font-weight:700}.soft-accordion .accordion-button:not(.collapsed){background:var(--blush);box-shadow:none}.order-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:22px;padding:1rem;margin-bottom:.8rem;background:#fffdf8}.order-line p{margin:.25rem 0;color:var(--muted);font-size:.93rem}.order-line span{font-weight:800;color:var(--cocoa)}.qty-wrap{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.qty-btn{border:1px solid var(--line);background:var(--blush);width:34px;height:34px;border-radius:50%;font-weight:900;color:var(--cocoa)}.qty-input{width:60px;text-align:center;border:1px solid var(--line);border-radius:12px;padding:.35rem}.soft-hr{border-color:var(--line);opacity:1}.form-control,.form-select{border-radius:16px;border-color:var(--line);padding:.8rem .95rem}.form-control:focus,.form-select:focus{border-color:var(--dusty);box-shadow:0 0 0 .25rem rgba(198,142,138,.18)}.admin-body{background:#f9f5ef}.metric-card{padding:1.5rem}.metric-card span{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.metric-card strong{font-family:'Playfair Display',serif;font-size:2.8rem;color:var(--cocoa)}.table{--bs-table-bg:transparent;--bs-table-border-color:var(--line)}.login-body{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at top right,var(--blush),transparent 32%),var(--cream)}.login-card{width:min(460px,100%);background:rgba(255,253,248,.85);border:1px solid var(--line);border-radius:30px;padding:2rem;box-shadow:var(--shadow)}.login-logo{display:block;width:260px;max-width:100%;margin:0 auto 1.5rem}.order-confirm-box{padding:1.25rem;text-align:left}@media (max-width:767px){.brand-mini img{height:44px}.order-line{align-items:flex-start;flex-direction:column}.qty-wrap{width:100%;justify-content:flex-end}.logo-card{padding:1.2rem}.display-title{font-size:3rem}}@media print{.nav-soft,.site-footer,.btn,form,.eyebrow{display:none!important}body{background:white}.admin-panel,.soft-panel,.metric-card{box-shadow:none;border:1px solid #ddd}}
.flavor-img{width:100%;height:150px;object-fit:cover;border-radius:22px;display:block;background:linear-gradient(135deg,var(--blush),var(--taupe))}
.flavor-thumb{width:72px!important;height:56px!important;border-radius:14px!important;font-size:.8rem!important}
.current-image-preview img{width:160px;max-width:100%;height:110px;object-fit:cover;border-radius:18px;border:1px solid var(--line);display:block}


/* Final preorder print page */
.print-body{background:#fff;color:#231915;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.35}
.print-page{max-width:980px;margin:0 auto;padding:32px}
.print-actions{display:flex;justify-content:flex-end;gap:12px;margin-bottom:18px}
.print-actions a,.print-actions button{border:1px solid var(--cocoa);border-radius:999px;background:#fff;color:var(--cocoa);font-weight:700;text-decoration:none;padding:.55rem 1rem;cursor:pointer}
.print-actions button{background:var(--cocoa);color:#fff}
.print-header{display:flex;align-items:center;gap:24px;border-bottom:2px solid var(--cocoa);padding-bottom:18px;margin-bottom:20px}
.print-header img{width:150px;height:auto}.print-header h1{margin:0;font-size:2.2rem}.print-header p{margin:.15rem 0;color:#5f544f}.print-eyebrow{margin:0 0 .25rem 0}.print-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 24px}.print-summary-grid div{border:1px solid #d7cbc2;border-radius:14px;padding:12px;background:#fffaf4}.print-summary-grid strong{font-size:1.7rem;display:block;color:var(--cocoa);font-family:'Playfair Display',Georgia,serif}.print-summary-grid span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#6f635c;font-weight:700}.print-section{break-inside:auto;margin:24px 0}.print-section h2{font-size:1.55rem;margin:0 0 10px 0}.location-block{break-inside:avoid;margin:18px 0 24px}.location-block h3{background:var(--cream);border:1px solid #d7cbc2;border-radius:12px;padding:8px 10px;margin:0 0 8px 0;font-size:1.1rem}.print-table{width:100%;border-collapse:collapse;margin-bottom:8px}.print-table th,.print-table td{border:1px solid #d7cbc2;padding:8px 10px;vertical-align:top;text-align:left}.print-table th{background:#f4eee6;color:var(--cocoa);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.print-table .number{text-align:right}.orders-table td{font-size:.92rem}.orders-table span{color:#6f635c;font-size:.86rem}
@media print{.no-print{display:none!important}.print-page{max-width:none;padding:0}.print-header{margin-top:0}.print-body{font-size:11pt}.print-section{page-break-inside:auto}.location-block{page-break-inside:avoid}.print-table th,.print-table td{padding:6px 8px}.print-summary-grid div{box-shadow:none}.print-header img{width:120px}a[href]:after{content:""!important}}


/* Customer mobile experience improvements */
.category-jump{
  position:sticky;
  top:74px;
  z-index:900;
  background:rgba(246,242,236,.94);
  backdrop-filter:blur(10px);
  border:1px solid var(--line);
  border-radius:999px;
  padding:.6rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.category-jump .btn{white-space:nowrap;flex:0 0 auto}
.product-card{display:flex;flex-direction:column}.product-card .mt-3{margin-top:auto!important}.product-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mobile-order-summary{display:none}.product-detail-card .flavor-img,.product-detail-card .flavor-img-placeholder{max-height:360px}.package-list li{margin-bottom:.45rem;padding:.25rem 0}.package-list a{font-weight:700;color:var(--cocoa);text-decoration:none}.package-list a:hover{text-decoration:underline}
@media (max-width:991px){
  .nav-soft .navbar-collapse{padding:1rem 0}.nav-soft .navbar-nav{align-items:stretch!important;gap:.25rem!important}.nav-soft .nav-link{padding:.75rem 0}.nav-soft .btn-cocoa{width:100%;margin-top:.5rem}.navbar-toggler{border-color:var(--line);border-radius:16px;padding:.65rem .75rem}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(198,142,138,.2)}
}
@media (max-width:767px){
  body{padding-bottom:0}.hero-wrap{padding-top:1rem!important}.lead-soft{font-size:1rem}.info-card,.flavor-card,.soft-panel,.admin-panel{border-radius:22px}.flavor-card{padding:1rem}.flavor-img,.flavor-img-placeholder{height:132px}.flavor-card h3{font-size:1.1rem;margin-top:.75rem}.category-jump{justify-content:flex-start!important;flex-wrap:nowrap!important;border-radius:22px;top:62px;margin-left:-.25rem;margin-right:-.25rem}.category-jump::-webkit-scrollbar{display:none}.category-jump .btn{padding:.55rem .85rem}.order-form{padding-bottom:6.75rem}.order-line{border-radius:18px;padding:.9rem}.order-line p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qty-wrap{justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem}.qty-btn{width:42px;height:42px}.qty-input{border:0;background:transparent;font-size:1.1rem;font-weight:800}.mobile-order-summary{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1100;background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:0 18px 60px rgba(59,42,35,.22);border-radius:22px;padding:.8rem .9rem;display:none;align-items:center;justify-content:space-between;gap:1rem}.mobile-order-summary.is-visible{display:flex}.mobile-order-summary span{color:var(--muted)}.mobile-order-summary .btn{white-space:nowrap}.order-confirm-box img{width:90%;max-width:300px}.site-footer{text-align:center}.site-footer .text-md-end{text-align:center!important}.site-footer .container{padding-top:1.35rem!important;padding-bottom:1.35rem!important}.btn{min-height:44px}.form-control,.form-select{min-height:48px}.soft-panel.text-center.py-5{padding-top:2rem!important;padding-bottom:2rem!important}
}
