
/* Eatoso global theme switch: bright (default) and Dracula night */
:root {
  color-scheme: light;
  --theme-page: #f7f5f0;
  --theme-surface: #fffdf8;
  --theme-surface-alt: #f0eadf;
  --theme-text: #172642;
  --theme-muted: #59677d;
  --theme-border: #e2d9c9;
  --theme-input: #ffffff;
  --theme-input-text: #172642;
  --theme-link: #0d1c42;
  --theme-accent: #d9a12e;
  --theme-accent-text: #0d1c42;
  --theme-shadow: 0 8px 28px rgba(20,32,55,.08);
}
:root[data-theme="dracula"] {
  color-scheme: dark;
  --theme-page: #191724;
  --theme-surface: #211f2d;
  --theme-surface-alt: #2b283a;
  --theme-text: #f8f8f2;
  --theme-muted: #c6c2d3;
  --theme-border: #454052;
  --theme-input: #191724;
  --theme-input-text: #f8f8f2;
  --theme-link: #e6dcff;
  --theme-accent: #ffca70;
  --theme-accent-text: #282536;
  --theme-shadow: 0 10px 28px rgba(0,0,0,.22);
}
.theme-toggle {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  padding: 0;
  margin: 0 0 0 8px;
  border: 1px solid rgba(245,189,61,.62);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #f5bd3d;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.theme-toggle:hover { background: rgba(245,189,61,.15); transform: translateY(-1px); }
.theme-toggle:focus-visible { outline: 3px solid #f5bd3d; outline-offset: 3px; }
.theme-toggle-icon { font-size: 21px; line-height: 1; }
.customer-header .theme-toggle { margin-left: 2px; }
@media(max-width:760px) {
  .theme-toggle { width: 36px; height: 36px; margin-left: 4px; }
  .site-header .theme-toggle { margin-left: auto; }
}

/* Shared customer pages */
body:not(.account-page) {
  background: var(--theme-page);
  color: var(--theme-text);
}
.customer-header {
  background: #0d1c42;
  color: #fff;
}
.customer-wrap { color: var(--theme-text); }
.customer-card,
.customer-product,
.customer-grid > article,
#productDetail,
.customer-modal-card {
  background: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-border);
  box-shadow: var(--theme-shadow);
}
.customer-card h1, .customer-card h2,
.customer-toolbar h1, .customer-wrap h1,
#productDetail h1, #productDetail h2, #productDetail h3 {
  color: var(--theme-text);
}
.customer-muted, .customer-card p, .customer-wrap p { color: var(--theme-muted); }
.customer-links a, .customer-wrap a { color: var(--theme-link); }
.customer-header .customer-links a { color: #fff; }
.customer-form input, .customer-form select,
.customer-filter, .customer-form textarea,
.customer-wrap input, .customer-wrap select, .customer-wrap textarea {
  background: var(--theme-input);
  color: var(--theme-input-text);
  border-color: var(--theme-border);
}
.customer-button {
  background: #0d1c42;
  color: #fff;
}
:root[data-theme="dracula"] .customer-button {
  background: #bd93f9;
  color: #191724;
}
.customer-link-button { color: var(--theme-link); }
.product-detail img, .product-detail .placeholder {
  background: var(--theme-surface-alt);
}
:root[data-theme="dracula"] .customer-toolbar h1,
:root[data-theme="dracula"] .customer-wrap h1[style],
:root[data-theme="dracula"] .customer-card h1[style] {
  color: #f8f8f2 !important;
}

/* Homepage bright theme remains warm ivory, navy and gold. */
body:has(.site-header) { background: var(--theme-page); color: var(--theme-text); }
:root[data-theme="dracula"] body:has(.site-header) {
  background: #191724;
  color: #f8f8f2;
}
:root[data-theme="dracula"] .site-header { background: #191724; }
:root[data-theme="dracula"] .hero-shade {
  background: linear-gradient(90deg, rgba(25,23,36,.93) 0%, rgba(25,23,36,.82) 27%, rgba(25,23,36,.42) 52%, rgba(25,23,36,.06) 75%);
}
:root[data-theme="dracula"] .hero h1,
:root[data-theme="dracula"] .hero .lead,
:root[data-theme="dracula"] .benefits b { color: #f8f8f2; }
:root[data-theme="dracula"] .hero h1 span,
:root[data-theme="dracula"] .eyebrow { color: #ffca70; }
:root[data-theme="dracula"] .section,
:root[data-theme="dracula"] .products,
:root[data-theme="dracula"] .team,
:root[data-theme="dracula"] .why,
:root[data-theme="dracula"] .brand-strip {
  background: #191724;
  color: #f8f8f2;
}
:root[data-theme="dracula"] .section-title h2,
:root[data-theme="dracula"] .section h2,
:root[data-theme="dracula"] .products h2,
:root[data-theme="dracula"] .team h2,
:root[data-theme="dracula"] .why h2,
:root[data-theme="dracula"] .brand-strip h2,
:root[data-theme="dracula"] .brand-strip h3 { color: #f8f8f2; }
:root[data-theme="dracula"] .section-title p,
:root[data-theme="dracula"] .section p,
:root[data-theme="dracula"] .products p,
:root[data-theme="dracula"] .team p,
:root[data-theme="dracula"] .why p { color: #c6c2d3; }
:root[data-theme="dracula"] .product-card,
:root[data-theme="dracula"] .team-card,
:root[data-theme="dracula"] .why-items div,
:root[data-theme="dracula"] .brand-photo {
  background: #211f2d;
  color: #f8f8f2;
  border-color: #454052;
}
:root[data-theme="dracula"] .pc-body h3,
:root[data-theme="dracula"] .team-card h3 { color: #f8f8f2; }
:root[data-theme="dracula"] .pc-body p,
:root[data-theme="dracula"] .team-card p,
:root[data-theme="dracula"] .why-items span { color: #c6c2d3; }
:root[data-theme="dracula"] .process,
:root[data-theme="dracula"] .enquiry,
:root[data-theme="dracula"] .enquiry-copy { background: #211f2d; color: #f8f8f2; }
:root[data-theme="dracula"] .process h2,
:root[data-theme="dracula"] .enquiry h2,
:root[data-theme="dracula"] .process h3 { color: #f8f8f2; }
:root[data-theme="dracula"] .process p,
:root[data-theme="dracula"] .enquiry p { color: #c6c2d3; }
:root[data-theme="dracula"] .enquiry-image:after {
  background: linear-gradient(90deg, #211f2d 0%, rgba(33,31,45,.72) 26%, rgba(33,31,45,.1) 62%, transparent 80%);
}
:root[data-theme="dracula"] .site-footer,
:root[data-theme="dracula"] footer { background: #12111b; color: #f8f8f2; }
:root[data-theme="dracula"] .site-footer a,
:root[data-theme="dracula"] footer a { color: #ffca70; }
:root[data-theme="dracula"] .enquiry-modal-card,
:root[data-theme="dracula"] #enquiryForm input,
:root[data-theme="dracula"] #enquiryForm select,
:root[data-theme="dracula"] #enquiryForm textarea {
  background: #191724;
  color: #f8f8f2;
  border-color: #454052;
}
:root[data-theme="dracula"] #enquiryForm input::placeholder,
:root[data-theme="dracula"] #enquiryForm textarea::placeholder { color: #aaa5bd; }

/* Dashboard bright mode: genuinely light surfaces, not the previous navy panels. */
:root:not([data-theme="dracula"]) body.account-page {
  background: #f7f5f0 !important;
  color: #172642 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-wrap,
:root:not([data-theme="dracula"]) body.account-page .account-main {
  background: #f7f5f0 !important;
  color: #172642 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-sidebar {
  background: #fffdf8 !important;
  color: #172642 !important;
  border-color: #e2d9c9 !important;
  box-shadow: var(--theme-shadow);
}
:root:not([data-theme="dracula"]) body.account-page .account-sidebar .account-identity strong,
:root:not([data-theme="dracula"]) body.account-page .account-sidebar .account-identity span,
:root:not([data-theme="dracula"]) body.account-page .account-side-links button { color: #172642 !important; }
:root:not([data-theme="dracula"]) body.account-page .account-side-links button.active,
:root:not([data-theme="dracula"]) body.account-page .account-side-links button:hover {
  background: #f0eadf !important;
  color: #0d1c42 !important;
  box-shadow: inset 3px 0 #f5bd3d;
}
:root:not([data-theme="dracula"]) body.account-page .account-panel,
:root:not([data-theme="dracula"]) body.account-page .account-info-card,
:root:not([data-theme="dracula"]) body.account-page .account-card,
:root:not([data-theme="dracula"]) body.account-page .account-panel-card,
:root:not([data-theme="dracula"]) body.account-page .account-profile-form,
:root:not([data-theme="dracula"]) body.account-page .account-empty-orders,
:root:not([data-theme="dracula"]) body.account-page .account-empty-state,
:root:not([data-theme="dracula"]) body.account-page .account-orders-teaser,
:root:not([data-theme="dracula"]) body.account-page .account-quick-links {
  background: #fffdf8 !important;
  color: #172642 !important;
  border-color: #e2d9c9 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-main h1,
:root:not([data-theme="dracula"]) body.account-page .account-main h2,
:root:not([data-theme="dracula"]) body.account-page .account-main h3 { color: #0d1c42 !important; }
:root:not([data-theme="dracula"]) body.account-page .account-main p,
:root:not([data-theme="dracula"]) body.account-page .account-panel-heading p { color: #59677d; }
:root:not([data-theme="dracula"]) body.account-page .account-main input,
:root:not([data-theme="dracula"]) body.account-page .account-main select,
:root:not([data-theme="dracula"]) body.account-page .account-main textarea {
  background: #fff !important; color: #172642 !important; border-color: #ded7c8 !important;
}
:root[data-theme="dracula"] body.account-page {
  background: #191724 !important; color: #f8f8f2 !important;
}
:root[data-theme="dracula"] body.account-page .account-wrap,
:root[data-theme="dracula"] body.account-page .account-main { background: #191724 !important; color: #f8f8f2 !important; }
:root[data-theme="dracula"] body.account-page .account-sidebar,
:root[data-theme="dracula"] body.account-page .account-panel,
:root[data-theme="dracula"] body.account-page .account-info-card,
:root[data-theme="dracula"] body.account-page .account-card,
:root[data-theme="dracula"] body.account-page .account-panel-card,
:root[data-theme="dracula"] body.account-page .account-profile-form,
:root[data-theme="dracula"] body.account-page .account-empty-orders,
:root[data-theme="dracula"] body.account-page .account-empty-state,
:root[data-theme="dracula"] body.account-page .account-orders-teaser,
:root[data-theme="dracula"] body.account-page .account-quick-links {
  background: #211f2d !important; color: #f8f8f2 !important; border-color: #454052 !important;
}
:root[data-theme="dracula"] body.account-page .account-main h1,
:root[data-theme="dracula"] body.account-page .account-main h2,
:root[data-theme="dracula"] body.account-page .account-main h3,
:root[data-theme="dracula"] body.account-page .account-sidebar .account-identity strong,
:root[data-theme="dracula"] body.account-page .account-sidebar .account-identity span { color: #f8f8f2 !important; }
:root[data-theme="dracula"] body.account-page .account-main p,
:root[data-theme="dracula"] body.account-page .account-panel-heading p { color: #c6c2d3 !important; }
:root[data-theme="dracula"] body.account-page .account-main input,
:root[data-theme="dracula"] body.account-page .account-main select,
:root[data-theme="dracula"] body.account-page .account-main textarea {
  background: #191724 !important; color: #f8f8f2 !important; border-color: #454052 !important;
}


/* Contrast refinements reported from the bright-theme dashboard screenshot. */
:root:not([data-theme="dracula"]) body.account-page .account-hero h1 {
  color: #0d1c42 !important;
  text-shadow: none;
}
:root:not([data-theme="dracula"]) body.account-page .account-hero p {
  color: #d8e1f2 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-hero-button {
  background: #f5bd3d !important;
  color: #0d1c42 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-sidebar-note,
:root:not([data-theme="dracula"]) body.account-page .account-sidebar-note strong {
  color: #172642 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-sidebar-note p {
  color: #59677d !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-sidebar-note a {
  color: #8a5b00 !important;
  text-decoration-thickness: 1px;
}
:root:not([data-theme="dracula"]) body.account-page .account-quick-links button,
:root:not([data-theme="dracula"]) body.account-page .account-quick-links a {
  color: #172642 !important;
  border-color: #d6cbb8 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-quick-links strong {
  color: #172642 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-quick-links small {
  color: #59677d !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-quick-links b {
  color: #8a5b00 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-orders-teaser .account-eyebrow,
:root:not([data-theme="dracula"]) body.account-page .account-section-title .account-eyebrow {
  color: #8a5b00 !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-overview-card .account-card-label {
  color: #c8d6ef !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-overview-card strong {
  color: #ffffff !important;
}
:root:not([data-theme="dracula"]) body.account-page .account-overview-card .account-card-link {
  color: #f5bd3d !important;
}

/* The switch is the final flex item on every header/nav, with consistent spacing. */
.site-header .nav > .theme-toggle,
.customer-header .customer-links > .theme-toggle {
  order: 9999;
  margin-left: 14px;
}
.site-header .nav { display: flex; align-items: center; }
.customer-header .customer-links { display: flex; align-items: center; }

/* Commerce cards and forms: keep product imagery neutral in both themes. */
.customer-product img,.customer-product .placeholder,.product-detail img,.product-detail .placeholder{background:var(--theme-surface-alt)!important;color:var(--theme-text)!important}
.customer-product-body,.customer-product{background:var(--theme-surface)!important;color:var(--theme-text)!important}
.customer-product h3,.customer-product-body h3{color:var(--theme-text)!important}
.product-price{font-size:1.2rem!important;font-weight:800;color:var(--theme-text)!important;margin:.65rem 0}
.contact-price{font-size:.95rem!important;font-weight:600;color:var(--theme-muted)!important}
.secondary-action{background:var(--theme-surface-alt)!important;color:var(--theme-text)!important;border:1px solid var(--theme-border)!important}
.buy-now-action{background:#c51c35!important;color:#fff!important}
.customer-wrap label{color:var(--theme-text)}
.customer-wrap textarea{display:block;width:100%;margin:8px 0 14px;padding:12px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-input);color:var(--theme-input-text);font:inherit}
:root[data-theme="dracula"] .customer-card h1,:root[data-theme="dracula"] .customer-card h2,:root[data-theme="dracula"] .customer-card label{color:var(--theme-text)!important}
:root[data-theme="dracula"] .customer-message{color:#ff8b9d}
:root[data-theme="dracula"] .customer-message.success{color:#8be9a8}


/* Sprint 6–11 commerce polish: theme-aware checkout, controls and interaction feedback */
.customer-cart-nav{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(245,189,61,.55);border-radius:22px;background:rgba(255,255,255,.07);color:#fff!important;font-weight:700}
.customer-cart-nav span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:#f5bd3d;color:#0d1c42;font-size:11px}
.customer-cart-nav.bump{animation:cartBump .38s ease}
@keyframes cartBump{35%{transform:scale(1.12)}70%{transform:scale(.96)}}
.customer-wrap .customer-card{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border);box-shadow:var(--theme-shadow)}
.customer-wrap .customer-card h1,.customer-wrap .customer-card h2{color:var(--theme-text)}
#shoppingCartLines{display:grid;gap:12px;margin:22px 0}
#shoppingCartLines .quote-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface-alt);animation:commerceIn .22s ease-out}
#shoppingCartLines .quote-line strong{color:var(--theme-text);font-size:16px}
#shoppingCartLines .quote-line p{color:var(--theme-muted)}
#shoppingCartLines input{width:92px;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-input);color:var(--theme-input-text)}
.account-info-card{padding:24px;border:1px solid var(--theme-border)!important;border-radius:16px!important;background:var(--theme-surface-alt)!important;color:var(--theme-text)!important;box-shadow:var(--theme-shadow)}
.account-info-card h2{font-size:clamp(21px,2vw,28px);margin:0 0 8px;color:var(--theme-text)!important}
.account-info-card>label,.customer-form>label{display:block;margin:14px 0 7px;font-weight:700;font-size:13px;color:var(--theme-text)}
.customer-form input,.customer-form select,.customer-form textarea,#purchaseMessage,#deliveryAddress,#billingAddress{width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-input);color:var(--theme-input-text);font:inherit}
#deliveryAddress,#billingAddress{width:auto;max-width:100%;min-width:220px;margin:5px 12px 10px 0}
.customer-form input:focus,.customer-form select:focus,#purchaseMessage:focus{outline:3px solid color-mix(in srgb,var(--theme-accent) 45%,transparent);outline-offset:1px}
.customer-form[hidden]{display:none!important}
.customer-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:20px!important;padding:22px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-surface);box-shadow:var(--theme-shadow)}
.customer-form label{min-width:0}
.customer-form label:has(#checkoutLine1),.customer-form label:has(#checkoutLine2),.customer-form label:has(#checkoutPin),.customer-form label:has(#checkoutDefault),.customer-form>button,.customer-form>.customer-message{grid-column:1/-1}
.required-field:after{content:" *";color:#e33445;font-weight:800}
.phone-input{display:flex;align-items:stretch;gap:0}
.phone-input .india-prefix{display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 12px;border:1px solid var(--theme-border);border-right:0;border-radius:9px 0 0 9px;background:var(--theme-surface-alt);color:var(--theme-text);font-weight:700}
.phone-input input{border-radius:0 9px 9px 0!important;min-width:0}
.field-hint{display:block;margin-top:6px;color:var(--theme-muted);font-size:12px;font-weight:400}
#purchaseMessage{display:block;margin:8px 0 18px;min-height:100px}
#requestPurchase{min-height:44px;padding:12px 22px}
.customer-button,.quote-add-row button{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.customer-button:hover,.quote-add-row button:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 7px 18px rgba(13,28,66,.16)}
.customer-button:active,.quote-add-row button:active{transform:scale(.97)}
.commerce-feedback{animation:commerceIn .25s ease-out}
@keyframes commerceIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.wishlist-active{color:#e33445!important;border-color:#e33445!important;background:rgba(227,52,69,.1)!important}
.wishlist-active .wishlist-heart{color:#e33445}
.customer-product{transition:transform .18s ease,box-shadow .18s ease}
.customer-product:hover{transform:translateY(-3px);box-shadow:var(--theme-shadow)}
.customer-product img{background:var(--theme-surface-alt)}
:root[data-theme="dracula"] .customer-product{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
:root[data-theme="dracula"] .customer-product h3,:root[data-theme="dracula"] .customer-product-body{color:var(--theme-text)}
:root[data-theme="dracula"] .customer-product .customer-muted{color:var(--theme-muted)}
:root[data-theme="dracula"] .account-info-card{background:#2b283a!important;border-color:#454052!important}
:root[data-theme="dracula"] .account-info-card h2,:root[data-theme="dracula"] .account-info-card>label{color:#f8f8f2!important}
:root[data-theme="dracula"] .customer-form{background:#211f2d;border-color:#454052}
:root[data-theme="dracula"] .customer-form label{color:#f8f8f2}
@media(max-width:650px){#shoppingCartLines .quote-line{grid-template-columns:1fr 1fr;gap:10px}#shoppingCartLines .quote-line>div{grid-column:1/-1}.customer-form{grid-template-columns:1fr;padding:15px}.customer-form label,.customer-form label:has(#checkoutLine1),.customer-form label:has(#checkoutLine2),.customer-form label:has(#checkoutPin),.customer-form label:has(#checkoutDefault),.customer-form>button,.customer-form>.customer-message{grid-column:1}.account-info-card{padding:16px!important}#deliveryAddress,#billingAddress{width:100%;margin:5px 0 12px}}
