/* ============================================================
   Lazaro Bridal — Retail Portal Redesign
   Shared design system  ·  "Elegant / Luxury Bridal"
   Ported from the handoff mockups (assets/styles.css).
   Loaded AFTER Bootstrap so it owns the redesigned chrome.
   Scope: pages that opt in via <body class="redesign ...">.
   ============================================================ */

:root {
  /* Palette — monochrome (black & white) */
  --ivory:      #FAFAFA;
  --cream:      #F1F1F1;
  --white:      #FFFFFF;
  --charcoal:   #141414;
  --ink:        #0A0A0A;
  --taupe:      #6E6E6E;
  --taupe-soft: #9A9A9A;
  --blush:      #D7D7D7;
  --blush-deep: #B9B9B9;
  --gold:       #111111;
  --gold-soft:  #C4C4C4;
  --line:       #E3E3E3;
  --shadow:     0 18px 50px -28px rgba(0, 0, 0, 0.45);
  --shadow-sm:  0 8px 26px -18px rgba(0, 0, 0, 0.38);

  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:  "Jost", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Reset the redesign surface only — avoid fighting Bootstrap globally */
body.redesign { margin: 0; background: var(--ivory); color: var(--charcoal); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.redesign * { box-sizing: border-box; }
.redesign h1, .redesign h2, .redesign h3, .redesign h4 { font-family: var(--serif); font-weight: 500; margin: 0; color: var(--ink); }
.redesign a { color: inherit; text-decoration: none; }
.redesign img { max-width: 100%; display: block; }

/* Hide the legacy Bootstrap navbar/header on redesigned pages */
body.redesign > nav.navbar,
body.redesign > br { display: none; }

.redesign .eyebrow { font-family: var(--sans); text-transform: uppercase; letter-spacing: 0.32em; font-size: 11px; font-weight: 500; color: var(--gold); }
.redesign .muted { color: var(--taupe); }

/* ---------- Top bar ---------- */
.redesign .topbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 48px; background: var(--charcoal); color: var(--cream); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; }
.redesign .topbar .acct { display: flex; gap: 26px; align-items: center; }
.redesign .topbar .acct span { opacity: 0.75; }
.redesign .topbar .util { display: flex; gap: 26px; align-items: center; }
.redesign .topbar .util a { opacity: 0.85; transition: opacity 0.2s; }
.redesign .topbar .util a:hover { opacity: 1; }
.redesign .cart-pill { border: 1px solid rgba(216, 195, 154, 0.5); border-radius: 999px; padding: 5px 14px; color: var(--gold-soft); }

/* ---------- Masthead / nav ---------- */
.redesign .masthead { background: var(--white); border-bottom: 1px solid var(--line); padding: 26px 48px 0; position: sticky; top: 0; z-index: 30; }
.redesign .masthead .brand-row { display: flex; align-items: flex-end; justify-content: center; position: relative; padding-bottom: 20px; }
.redesign .wordmark { font-family: var(--serif); font-size: 34px; letter-spacing: 0.42em; text-indent: 0.42em; color: var(--ink); }
.redesign .wordmark small { display: block; font-family: var(--sans); font-size: 10px; letter-spacing: 0.5em; text-indent: 0.5em; color: var(--taupe); text-align: center; margin-top: 6px; }
.redesign .brand-logo { display: inline-block; line-height: 0; }
.redesign .brand-logo img { height: 56px; width: auto; display: block; }
@media (max-width: 600px) { .redesign .brand-logo img { height: 42px; } }
.redesign .mainnav { display: flex; gap: 38px; justify-content: center; border-top: 1px solid var(--line); padding: 16px 0; }
.redesign .mainnav a { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--taupe); padding-bottom: 4px; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
.redesign .mainnav a:hover, .redesign .mainnav a.active { color: var(--ink); border-color: var(--gold); }

/* ---------- Layout ---------- */
.redesign .wrap { max-width: 1240px; margin: 0 auto; padding: 0 48px; }
.redesign .section { padding: 64px 0; }
.redesign .center { text-align: center; }
.redesign .page-head { text-align: center; padding: 56px 0 36px; }
.redesign .page-head h1 { font-size: 52px; line-height: 1.05; margin: 14px 0 0; }
.redesign .page-head p { color: var(--taupe); margin: 14px auto 0; max-width: 560px; }

/* ---------- Buttons ---------- */
.redesign .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--sans); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; padding: 15px 34px; border: 1px solid var(--ink); background: var(--ink); color: var(--cream); cursor: pointer; transition: all 0.2s ease; border-radius: 0; }
.redesign .btn:hover { background: transparent; color: var(--ink); }
.redesign .btn.ghost { background: transparent; color: var(--ink); }
.redesign .btn.ghost:hover { background: var(--ink); color: var(--cream); }
.redesign .btn.gold { background: var(--gold); border-color: var(--gold); color: var(--white); }
.redesign .btn.gold:hover { background: transparent; color: var(--gold); }
.redesign .btn.block { width: 100%; }
.redesign .btn.sm { padding: 11px 22px; font-size: 11px; }

/* ---------- Photo placeholders + real images ---------- */
.redesign .photo { position: relative; background: linear-gradient(135deg, #DBDBDB 0%, #BEBEBE 55%, #A2A2A2 100%); display: flex; align-items: center; justify-content: center; overflow: hidden; color: var(--ink); }
/* Only show the "GOWN IMAGE" caption on explicit empty placeholders */
.redesign .photo.placeholder::after { content: "GOWN IMAGE"; font-family: var(--sans); font-size: 10px; letter-spacing: 0.34em; color: rgba(0,0,0,0.45); text-transform: uppercase; }
.redesign .photo .silhouette { position: absolute; font-family: var(--serif); font-size: 120px; color: rgba(255,255,255,0.55); line-height: 1; user-select: none; }
/* Real <img> inside any photo box fills it edge to edge */
.redesign .photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }

/* ---------- Cards / tiles ---------- */
.redesign .tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.redesign .tile { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); overflow: hidden; transition: transform 0.25s ease, box-shadow 0.25s ease; display: flex; flex-direction: column; }
.redesign .tile:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.redesign .tile .tile-photo { height: 220px; }
.redesign .tile .tile-body { padding: 26px 28px 30px; text-align: center; }
.redesign .tile .tile-body h3 { font-size: 26px; }
.redesign .tile .tile-body p { color: var(--taupe); font-size: 14px; margin: 8px 0 18px; }
.redesign .tile .tile-icon { font-family: var(--serif); font-size: 30px; color: var(--gold); display: block; margin-bottom: 6px; }

/* Dashboard highlight band */
.redesign .dash-highlight { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); display: grid; grid-template-columns: 1.1fr 1fr; align-items: stretch; }
.redesign .dash-highlight-body { padding: 54px 56px; display: flex; flex-direction: column; justify-content: center; }
.redesign .dash-highlight-media { overflow: hidden; background: #000; }
.redesign .dash-highlight-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 760px) { .redesign .dash-highlight { grid-template-columns: 1fr; } .redesign .dash-highlight-body { padding: 36px 28px; } }

/* ---------- Product grid ---------- */
.redesign .product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px 30px; }
.redesign .product { background: var(--white); border: none; transition: box-shadow 0.25s ease, transform 0.25s ease; display: block; }
.redesign .product:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.redesign .product .product-photo { height: auto; background: var(--white); }
.redesign .product .product-photo img { position: static; inset: auto; width: 100%; height: auto; object-fit: contain; }
.redesign .product .product-info { padding: 18px 20px 22px; text-align: center; }
.redesign .product .style-no { font-size: 11px; letter-spacing: 0.22em; color: var(--gold); text-transform: uppercase; }
.redesign .product .product-name { font-family: var(--serif); font-size: 22px; margin: 4px 0 8px; color: var(--ink); }
.redesign .product .product-price { font-size: 13px; letter-spacing: 0.08em; color: var(--taupe); }
.redesign .product .product-style-no { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--taupe); margin-bottom: 4px; }
.redesign .product .product-meta { font-size: 13px; color: var(--taupe); }

/* ---------- Filter rail ---------- */
.redesign .shop-layout { display: grid; grid-template-columns: 250px 1fr; gap: 44px; align-items: start; }
/* Collapsed: filter rail hidden, grid spans full width */
.redesign .shop-layout.filters-collapsed { grid-template-columns: 1fr; }
.redesign .shop-layout.filters-collapsed > .filters { display: none; }
.redesign .shop-layout.filters-collapsed .product-grid { grid-template-columns: repeat(3, 1fr); }
.redesign .filters { border-right: 1px solid var(--line); padding-right: 28px; position: sticky; top: 150px; }
.redesign .filter-group { padding: 18px 0; border-bottom: 1px solid var(--line); }
.redesign .filter-group h4 { font-family: var(--sans); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink); margin-bottom: 14px; }
.redesign .filter-group label { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--taupe); padding: 5px 0; cursor: pointer; font-weight: 400; }
.redesign .filter-group label:hover { color: var(--ink); }
.redesign .searchbox { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); background: var(--white); padding: 12px 16px; width: 100%; }
.redesign .searchbox input { border: 0; outline: 0; width: 100%; font-family: var(--sans); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); background: transparent; }
.redesign .shop-toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; flex-wrap: wrap; }
.redesign .shop-toolbar .stb-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) {
	.redesign .shop-toolbar { justify-content: center; gap: 12px; }
	.redesign .shop-toolbar .count { order: -1; flex-basis: 100%; text-align: center; }
	.redesign .shop-toolbar .stb-filters { order: 1; }
	.redesign .shop-toolbar .stb-actions { margin-left: 0; order: 2; justify-content: center; gap: 8px; }
	.redesign .stb-actions .btn.sm, .redesign .stb-filters { padding: 10px 14px; letter-spacing: 0.12em; }
	.redesign .stb-actions .select { padding: 10px 12px; }
}
.redesign .shop-toolbar .count { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--taupe); }
.redesign .select { border: 1px solid var(--line); background: var(--white); padding: 11px 16px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink); border-radius: 0; height: auto; }

/* ---------- Item detail ---------- */
.redesign .pdp { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; }
.redesign .gallery { display: flex; flex-direction: column; gap: 14px; }
/* exactly 4 uniform thumbnails visible at a time; the row scrolls
   horizontally for the 5th onward instead of shrinking or clipping */
.redesign .thumbs { display: flex; flex-direction: row; gap: 12px; overflow-x: auto; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
.redesign .thumb { flex: 0 0 calc((100% - 36px) / 4); width: auto; height: auto; aspect-ratio: 3 / 4; border: 1px solid var(--line); cursor: pointer; }
.redesign .thumb.active { border-color: var(--gold); }
.redesign .hero-photo { height: auto; }
.redesign .pdp-info .style-no { font-size: 12px; letter-spacing: 0.26em; color: var(--gold); text-transform: uppercase; }
.redesign .pdp-info h1 { font-size: 46px; margin: 8px 0 4px; }
.redesign .pdp-info .price { font-family: var(--serif); font-size: 26px; color: var(--ink); margin: 18px 0; }
.redesign .pdp-info .desc { color: var(--taupe); font-size: 15px; line-height: 1.75; }
.redesign .field { margin: 22px 0; }
.redesign .field .field-label { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; }
.redesign .chips { display: flex; gap: 10px; flex-wrap: wrap; }
.redesign .chip { min-width: 46px; text-align: center; border: 1px solid var(--line); background: var(--white); padding: 10px 14px; font-size: 13px; letter-spacing: 0.08em; cursor: pointer; transition: all 0.2s; }
.redesign .chip:hover { border-color: var(--taupe); }
.redesign .chip.active { border-color: var(--ink); background: var(--ink); color: var(--cream); }
.redesign .color-chip { display: flex; align-items: center; gap: 8px; }
.redesign .swatch { width: 15px; height: 15px; border-radius: 50%; border: 1px solid rgba(0,0,0,0.1); display: inline-block; }
.redesign .qty { display: inline-flex; align-items: center; border: 1px solid var(--line); }
.redesign .qty button { border: 0; background: transparent; width: 42px; height: 42px; font-size: 18px; cursor: pointer; color: var(--ink); }
.redesign .qty input { width: 50px; text-align: center; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); height: 42px; font-family: var(--sans); }
.redesign .detail-accordion { margin-top: 30px; border-top: 1px solid var(--line); }
.redesign .detail-accordion .row { padding: 14px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: flex-start; gap: 10px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink); margin: 0; text-align: left; }
.redesign .detail-accordion .row > span:first-child { min-width: 130px; color: var(--taupe); }

/* ---------- Product prev/next nav ---------- */
.redesign .pdp-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.redesign .pdp-nav a { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--taupe); }
.redesign .pdp-nav a:hover { color: var(--ink); }
.redesign .pdp-nav .pn-name { font-family: var(--serif); text-transform: none; letter-spacing: 0; font-size: 17px; color: var(--ink); }

/* ---------- Custom request / uploader ---------- */
.redesign .req-section textarea { width: 100%; border: 1px solid var(--line); padding: 13px 15px; font-family: var(--sans); font-size: 14px; resize: vertical; outline: none; }
.redesign .req-section textarea:focus { border-color: var(--ink); }
.redesign .uploader { border: 1.5px dashed #C7C7C7; background: var(--ivory); text-align: center; padding: 30px 20px; margin-top: 16px; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.redesign .uploader:hover { border-color: var(--ink); background: var(--white); }
.redesign .uploader .up-icon { font-size: 26px; color: var(--taupe); }
.redesign .uploader p { margin: 8px 0 2px; font-size: 14px; color: var(--ink); }
.redesign .uploader small { color: var(--taupe); font-size: 12px; }
.redesign .file-list { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.redesign .file-pill { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); background: var(--white); padding: 8px 10px 8px 8px; min-width: 200px; }
.redesign .file-pill .file-thumb { width: 40px; height: 40px; flex: none; }
.redesign .file-pill .file-meta { line-height: 1.3; }
.redesign .file-pill .file-name { font-size: 13px; color: var(--ink); }
.redesign .file-pill .file-size { font-size: 11px; color: var(--taupe); }
.redesign .file-pill .file-x { margin-left: auto; color: var(--taupe); cursor: pointer; padding: 0 6px; }
.redesign .file-pill .file-x:hover { color: var(--ink); }

/* ---------- Small note badge ---------- */
.redesign .badge { display: inline-block; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid var(--line); color: var(--taupe); padding: 3px 9px; margin-left: 8px; vertical-align: middle; background: transparent; border-radius: 0; font-weight: 400; }

/* ---------- Footer ---------- */
.redesign .site-footer { background: var(--charcoal); color: var(--cream); margin-top: 80px; padding: 54px 48px 36px; }
.redesign .site-footer .cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 40px; max-width: 1240px; margin: 0 auto; }
.redesign .site-footer h4 { color: var(--gold-soft); font-family: var(--sans); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 16px; }
.redesign .site-footer a, .redesign .site-footer p { color: rgba(243,236,227,0.7); font-size: 13px; line-height: 2; }
.redesign .site-footer a:hover { color: var(--white); }
.redesign .site-footer .fwordmark { font-family: var(--serif); font-size: 26px; letter-spacing: 0.4em; color: var(--white); }
.redesign .site-footer .footer-logo { display: inline-block; line-height: 0; }
.redesign .site-footer .footer-logo img { height: 46px; width: auto; filter: brightness(0) invert(1); }
.redesign .site-footer .legal { max-width: 1240px; margin: 36px auto 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.12); font-size: 11px; letter-spacing: 0.1em; color: rgba(243,236,227,0.5); display: flex; justify-content: space-between; }

/* ---------- Loading / no-more (reused from legacy ids) ---------- */
.redesign #processing { display: none; text-align: center; padding: 40px 0; font-size: 26px; color: var(--taupe); }
.redesign #nomore { text-align: center; padding: 24px 0; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); }

/* ---------- PDP gallery: real images + thumbs ---------- */
.redesign .hero-wrap { position: relative; }
.redesign .g-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px;
	border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.88);
	color: var(--ink); display: flex; align-items: center; justify-content: center;
	font-size: 24px; line-height: 1; cursor: pointer; z-index: 5; user-select: none; transition: all .15s;
}
.redesign .g-arrow:hover { background: var(--white); border-color: var(--ink); }
.redesign .g-arrow.prev { left: 12px; }
.redesign .g-arrow.next { right: 12px; }
@media (max-width: 640px) {
	.redesign .g-arrow { width: 40px; height: 40px; font-size: 21px; }
}
.redesign .gallery .hero-photo { position: relative; overflow: hidden; }
.redesign .gallery .hero-photo a { display: block; width: 100%; height: auto; }
.redesign .gallery .hero-photo img { width: 100%; height: auto; object-fit: contain; object-position: top center; display: block; }
.redesign .gallery .slider, .redesign .gallery .thumbnails { width: 100%; }
.redesign .thumbs { flex-wrap: nowrap; }
.redesign .thumb { overflow: hidden; background: var(--white); }
.redesign .thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.redesign .thumb.video-inline { background: #000; }
.redesign .thumb.video-inline video, .redesign .thumb.video-inline iframe { width: 100%; height: 100%; object-fit: contain; background: #000; pointer-events: none; }
.redesign #prod-video-holder { width: 100%; }

/* color chip = styled radio; .active toggled by sync script */
.redesign .color-chip input[type="radio"] { display: none; }
.redesign .qty input[readonly] { background: var(--white); cursor: default; }

/* You-may-also-like cards use shorter photos */
.redesign .related .product .product-photo { height: auto; }

/* ============================================================
   Cart / Online Ordering (online_ordering.php)
   Themes the EXISTING legacy structure — no markup/JS changes.
   Rows are injected by prepare_order.php into .order-item.
   ============================================================ */
.redesign.online_ordering .container-fluid.main { max-width: 1240px; margin: 0 auto; padding: 0 48px; }

/* Top action row: CLEAR ORDER + PLACE AN ORDER */
.redesign .title-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1240px; margin: 0 auto 10px; padding: 0 48px; flex-wrap: wrap; }
.redesign .title-row .btn.pink.clear_cart,
.redesign a.btn.pink.clear_cart { display: inline-flex; align-items: center; justify-content: center; font-family: var(--sans); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; padding: 11px 22px; border: 1px solid var(--ink); background: transparent; color: var(--ink); border-radius: 0; transition: all 0.2s; }
.redesign .title-row .btn.pink.clear_cart:hover { background: var(--ink); color: var(--cream); }
.redesign .place-order-type .title { font-family: var(--serif); font-size: 24px; color: var(--ink); margin-bottom: 8px; }
.redesign .place-order-type .radios { display: flex; gap: 8px; flex-wrap: wrap; }
.redesign .place-order-type .radios label.radio-inline { margin: 0; padding: 0; }
.redesign .place-order-type .radios label.radio-inline input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.redesign .place-order-type .radios label.radio-inline span { display: inline-block; border: 1px solid var(--line); background: var(--white); padding: 9px 16px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--taupe); cursor: pointer; transition: all 0.2s; }
.redesign .place-order-type .radios label.radio-inline span:hover { border-color: var(--taupe); color: var(--ink); }
.redesign .place-order-type .radios input[type=radio]:checked + span { background: var(--ink); color: var(--cream); border-color: var(--ink) !important; }

/* The order form: two columns become an elegant layout */
.redesign.online_ordering,
.redesign.online_ordering .order,
.redesign.online_ordering .order-wrapper,
.redesign.online_ordering .order-item,
.redesign.online_ordering .col-md-8,
.redesign.online_ordering .col-md-12,
.redesign.online_ordering .mCustomScrollBox,
.redesign.online_ordering .mCSB_container { background: transparent !important; }
.redesign .order-wrapper { height: auto !important; min-height: 0 !important; overflow: visible !important; }
.redesign .order-wrapper .mCustomScrollBox,
.redesign .order-wrapper .mCSB_container { height: auto !important; max-height: none !important; overflow: visible !important; position: static !important; }
.redesign .order-wrapper .mCSB_scrollTools { display: none !important; }

/* Each cart item row -> elegant card */
.redesign .order-item .item { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); padding: 22px 24px; margin-bottom: 18px; }
.redesign .order-item .item .control-label { font-family: var(--sans); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--taupe); font-weight: 500; }
.redesign .order-item .item img.img-responsive { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: top center; border: 1px solid var(--line); }
.redesign .order-item .item .remove-order-item { font-family: var(--sans); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; background: transparent; border: 1px solid var(--line); color: var(--taupe); padding: 8px 16px; border-radius: 0; }
.redesign .order-item .item .remove-order-item:hover { border-color: var(--ink); color: var(--ink); }
.redesign .order-item .item .btn.pink.small { background: transparent; border: 1px solid var(--line); color: var(--ink); border-radius: 0; font-size: 10px; letter-spacing: 0.12em; }

/* Inputs / textareas / select2 across the cart */
.redesign .order .form-control,
.redesign .summary-panel .form-control { border: 1px solid var(--line); border-radius: 0; box-shadow: none; font-family: var(--sans); font-size: 14px; color: var(--ink); height: auto; padding: 11px 13px; }
.redesign .order .form-control:focus { border-color: var(--ink); box-shadow: none; }
.redesign .select2-container .select2-choice,
.redesign .select2-container--default .select2-selection--single { border: 1px solid var(--line) !important; border-radius: 0 !important; height: 42px !important; background: var(--white) !important; }
.redesign .select2-container .select2-choice .select2-chosen { line-height: 40px !important; font-family: var(--sans); font-size: 14px; color: var(--ink); }

/* Right-side order form panel -> elegant summary card */
.redesign .order .col-md-4 { background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); padding: 28px 26px; }
.redesign .order .col-md-4 h3 { font-family: var(--serif); font-size: 18px; color: var(--ink); }
.redesign .order .col-md-4 .control-label { font-family: var(--sans); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); font-weight: 500; }
.redesign .btn.pink.btn-lg.order-submit { width: 100%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--sans); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; padding: 15px 34px; border: 1px solid var(--gold); background: var(--gold); color: var(--white); border-radius: 0; transition: all 0.2s; margin-top: 8px; }
.redesign .btn.pink.btn-lg.order-submit:hover { background: transparent; color: var(--gold); }

/* "Add Products" button rendered by prepare_order.php */
.redesign #addProductBtn, .redesign .lazzarobutton { display: inline-flex; align-items: center; justify-content: center; font-family: var(--sans); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; padding: 11px 22px; border: 1px solid var(--gold); background: var(--gold); color: var(--white); border-radius: 0; cursor: pointer; }
.redesign #addProductBtn:hover, .redesign .lazzarobutton:hover { background: transparent; color: var(--gold); }

/* Hide the legacy DaVinci brand-selector row inside the cart */
.redesign .order-type { display: none !important; }

/* Redesigned cart rows (rendered by prepare_order.php product_template) */
.redesign .order-card { display: flex; gap: 20px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); padding: 20px 22px; margin-bottom: 18px; }
.redesign .order-card .order-thumb { width: 92px; height: 120px; flex: none; display: block; overflow: hidden; border: 1px solid var(--line); }
.redesign .order-card .order-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.redesign .order-card-body { flex: 1; min-width: 0; }
.redesign .order-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.redesign .order-card .style-no { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); }
.redesign .order-card .order-name { font-family: var(--serif); font-size: 22px; color: var(--ink); margin: 2px 0; }
.redesign .order-card .order-link:hover .order-name { text-decoration: underline; }
.redesign .order-card .style-hidden { display: none; }
.redesign .order-line-total { font-family: var(--serif); font-size: 20px; color: var(--ink); white-space: nowrap; }
.redesign .cart-fields { display: flex; gap: 18px; flex-wrap: wrap; margin: 14px 0 4px; }
.redesign .cart-line { display: flex; gap: 18px; align-items: flex-end; flex-wrap: wrap; margin: 6px 0; }
.redesign .cl { display: flex; flex-direction: column; gap: 6px; font-weight: 400; margin: 0; }
.redesign .cl .cl-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); }
.redesign .cart-select { border: 1px solid var(--line); background: var(--white); padding: 9px 12px; font-family: var(--sans); font-size: 14px; color: var(--ink); min-width: 150px; border-radius: 0; height: auto; }
.redesign .cart-select:focus { border-color: var(--ink); outline: none; }
.redesign .size-actions { display: flex; gap: 14px; align-items: center; padding-bottom: 9px; }
.redesign .size-add, .redesign .size-remove { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--taupe); cursor: pointer; }
.redesign .size-add:hover, .redesign .size-remove:hover { color: var(--ink); }
.redesign .size-actions .hidden { display: none; }
.redesign .order-card .cart-note { margin-top: 12px; border-left: 2px solid var(--ink); background: var(--ivory); padding: 9px 14px; max-width: 560px; }
.redesign .order-card .cart-note .cart-note-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); margin-bottom: 4px; }
.redesign .order-card .cart-note p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink); font-style: italic; }
.redesign .order-card .cart-note .note-files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.redesign .order-card .note-file { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); background: var(--white); padding: 4px 9px 4px 4px; font-size: 12px; color: var(--ink); }
.redesign .order-card .note-file .nf-thumb { width: 26px; height: 26px; flex: none; }
.redesign .order-card-foot { margin-top: 14px; }
.redesign .order-card-foot .remove { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--taupe); cursor: pointer; }
.redesign .order-card-foot .remove:hover { color: var(--ink); }

/* Order totals summary at the foot of the items list */
.redesign .cart-summary-bar { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--line); }
.redesign .cart-summary-totals { min-width: 280px; margin-left: auto; }
.redesign .cs-line { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; color: var(--taupe); }
.redesign .cs-line.total { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 14px; font-family: var(--serif); font-size: 18px; color: var(--ink); }

/* ============================================================
   Cart — exact mockup layout (order-table + Place-an-Order panel)
   ============================================================ */
.redesign .order-layout { display: grid; grid-template-columns: 1fr 360px; gap: 44px; align-items: start; }

.redesign .order-table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--line); }
.redesign .order-table th { text-align: left; font-family: var(--sans); font-weight: 500; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); padding: 16px 20px; border-bottom: 1px solid var(--line); }
.redesign .order-table td { padding: 18px 20px; border-bottom: 1px solid var(--line); vertical-align: middle; font-size: 14px; }
.redesign .order-table .col-total { text-align: right; font-family: var(--serif); font-size: 17px; color: var(--ink); white-space: nowrap; }

.redesign .order-item-main { display: flex; gap: 16px; align-items: flex-start; }
.redesign .order-item-main .order-thumb { width: 64px; height: 84px; flex: none; overflow: hidden; border: 1px solid var(--line); }
.redesign .order-item-main .order-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.redesign .order-item-info .style-no { font-size: 11px; letter-spacing: 0.2em; color: var(--gold); text-transform: uppercase; }
.redesign .order-item-info .order-name { font-family: var(--serif); font-size: 20px; color: var(--ink); margin: 2px 0; }
.redesign .order-link:hover .order-name { text-decoration: underline; }
.redesign .order-item-info .order-attrs { font-size: 12px; color: var(--taupe); }
.redesign .order-item-info .cart-option { margin-top: 12px; }
.redesign .order-item-info .cart-option-label { display: block; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); margin-bottom: 5px; }
.redesign .order-item-info .cart-option .cart-select { min-width: 210px; }
.redesign .order-item-info .remove { display: inline-block; margin-top: 8px; color: var(--taupe); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; }
.redesign .order-item-info .remove:hover { color: var(--ink); }

.redesign .col-color .cart-select, .redesign .col-size .cart-select, .redesign .col-qty .cart-select { display: block; }
.redesign .col-size .cart-select + .cart-select, .redesign .col-qty .cart-select + .cart-select { margin-top: 6px; }
.redesign .cart-select { border: 1px solid var(--line); background: var(--white); padding: 8px 10px; font-family: var(--sans); font-size: 13px; color: var(--ink); border-radius: 0; outline: none; min-width: 92px; }
.redesign .cart-select:focus { border-color: var(--ink); }

/* full-width custom-request row under an item */
.redesign .order-table tr.has-note > td { border-bottom: 0; padding-bottom: 6px; }
.redesign .note-row > td { padding-top: 0; padding-bottom: 18px; }
.redesign .note-row .cart-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; border-left: 2px solid var(--ink); background: var(--ivory); padding: 9px 14px; }
.redesign .note-row .cart-note .cart-note-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); margin-bottom: 4px; }
.redesign .note-row .cart-note p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink); font-style: italic; max-width: 560px; }
.redesign .note-row .note-files { display: flex; flex-wrap: wrap; gap: 8px; }
.redesign .note-row .note-file { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); background: var(--white); padding: 4px 9px 4px 4px; font-size: 12px; color: var(--ink); }
.redesign .note-row .note-file .nf-thumb { width: 26px; height: 26px; flex: none; }

.redesign .cart-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 22px; flex-wrap: wrap; }
.redesign .cart-empty { padding: 40px 0; text-align: center; color: var(--taupe); font-size: 14px; }

/* Place an Order summary panel */
.redesign .summary { background: var(--white); border: 1px solid var(--line); padding: 30px; }
.redesign .summary h3 { font-size: 26px; margin-bottom: 20px; }
.redesign .order-type-chips { display: flex; gap: 8px; margin: 4px 0 22px; }
.redesign .order-type-chips label { flex: 1; text-align: center; border: 1px solid var(--line); background: var(--white); padding: 10px 8px; font-size: 12px; letter-spacing: 0.08em; cursor: pointer; margin: 0; font-weight: 400; transition: all 0.2s; }
.redesign .order-type-chips label input { display: none; }
.redesign .order-type-chips label:hover { border-color: var(--taupe); }
.redesign .order-type-chips label.active { border-color: var(--ink); background: var(--ink); color: var(--cream); }
.redesign .summary .line { display: flex; justify-content: space-between; padding: 11px 0; font-size: 14px; color: var(--taupe); }
.redesign .summary .line.total { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 18px; font-size: 18px; color: var(--ink); font-family: var(--serif); }
.redesign .form-field label { display: block; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.redesign .form-field input, .redesign .form-field select { width: 100%; border: 1px solid var(--line); background: var(--white); padding: 13px 15px; font-family: var(--sans); font-size: 14px; outline: none; border-radius: 0; }
.redesign .form-field input:focus { border-color: var(--ink); }
.redesign .form-field input[readonly] { background: var(--ivory); color: var(--taupe); }

/* ============================================================
   Inventory Lookup (inventory_lookup.php)
   ============================================================ */
.redesign .inv-legend { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin-bottom: 30px; font-size: 12px; letter-spacing: 0.06em; color: var(--taupe); }
.redesign .inv-legend span { display: inline-flex; align-items: center; gap: 8px; }
.redesign .dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.redesign .dot.in { background: #3f7d3f; }
.redesign .dot.low { background: #b08818; }
.redesign .dot.out { background: #c0c0c0; }

.redesign .inv-card { display: grid; grid-template-columns: 120px 1fr; gap: 26px; background: var(--white); border: 1px solid var(--line); padding: 24px 26px; margin-bottom: 20px; box-shadow: var(--shadow-sm); }
.redesign .inv-photo { height: 160px; position: relative; overflow: hidden; }
.redesign .inv-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.redesign .inv-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.redesign .inv-name { font-family: var(--serif); font-size: 24px; color: var(--ink); }
.redesign .inv-name .s-no { font-family: var(--sans); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); display: block; }
.redesign .inv-color { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.redesign .inv-color .ic-tab { font-size: 12px; letter-spacing: 0.06em; padding: 6px 12px; border: 1px solid var(--line); cursor: pointer; transition: all 0.2s; }
.redesign .inv-color .ic-tab:hover { border-color: var(--taupe); }
.redesign .inv-color .ic-tab.active { background: var(--ink); color: var(--white); border-color: var(--ink); }
.redesign .size-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 8px; }
.redesign .size-cell { border: 1px solid var(--line); text-align: center; padding: 9px 4px; }
.redesign .size-cell .s-num { font-size: 14px; color: var(--ink); }
.redesign .size-cell .s-stat { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 4px; }
.redesign .size-cell.in .s-stat { color: #3f7d3f; }
.redesign .size-cell.low { border-color: #e3d2a3; }
.redesign .size-cell.low .s-stat { color: #9a7b1f; }
.redesign .size-cell.out { background: var(--ivory); }
.redesign .size-cell.out .s-num { color: var(--taupe-soft); text-decoration: line-through; }
.redesign .size-cell.out .s-stat { color: var(--taupe-soft); }
@media (max-width: 600px) { .redesign .inv-card { grid-template-columns: 1fr; } }

/* ============================================================
   Information & Forms (information_and_forms.php)
   ============================================================ */
.redesign .cat-nav { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 8px; }
.redesign .cat-nav a { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--taupe); border: 1px solid var(--line); padding: 9px 18px; background: var(--white); transition: all 0.2s; }
.redesign .cat-nav a:hover, .redesign .cat-nav a.active { color: var(--white); background: var(--ink); border-color: var(--ink); }

.redesign .doc-cat { margin-top: 48px; }
.redesign .doc-cat-head { display: flex; align-items: baseline; gap: 14px; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 26px; }
.redesign .doc-cat-head h2 { font-size: 30px; }
.redesign .doc-cat-head .count { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--taupe); }

.redesign .doc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.redesign .doc-card { display: flex; align-items: center; gap: 18px; background: var(--white); border: 1px solid var(--line); padding: 18px 22px; transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease; }
.redesign .doc-card:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.redesign .doc-icon { width: 46px; height: 58px; flex: none; background: var(--ivory); border: 1px solid var(--line); position: relative; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 7px; font-size: 9px; letter-spacing: 0.12em; color: var(--taupe); }
.redesign .doc-icon::before { content: ""; position: absolute; top: 0; right: 0; border-width: 0 11px 11px 0; border-style: solid; border-color: var(--white) var(--line); }
.redesign .doc-icon.form { color: #555; }
.redesign .doc-body { flex: 1; min-width: 0; }
.redesign .doc-title { font-family: var(--serif); font-size: 20px; color: var(--ink); line-height: 1.2; }
.redesign .doc-meta { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--taupe); margin-top: 5px; }
.redesign .doc-action { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); border: 1px solid var(--line); padding: 9px 16px; white-space: nowrap; transition: all 0.2s; }
.redesign .doc-card:hover .doc-action { background: var(--ink); color: var(--white); border-color: var(--ink); }
@media (max-width: 760px) { .redesign .doc-grid { grid-template-columns: 1fr; } }

/* ============================================================
   Sales-Rep context bar + dashboard add-tile
   ============================================================ */
.redesign .repbar { background: var(--ink); color: var(--cream); border-bottom: 1px solid #2a2a2a; }
.redesign .repbar .inner { max-width: 1240px; margin: 0 auto; padding: 12px 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.redesign .repbar .rep-tag { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); }
.redesign .repbar .store-picker { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.redesign .repbar .store-select { background: #1f1f1f; color: var(--white); border: 1px solid #3a3a3a; padding: 9px 16px; font-family: var(--sans); font-size: 13px; letter-spacing: 0.06em; border-radius: 0; max-width: 420px; }
.redesign .repbar .store-search { background: #1f1f1f; color: var(--white); border: 1px solid #3a3a3a; padding: 9px 16px; font-family: var(--sans); font-size: 13px; letter-spacing: 0.04em; border-radius: 0; min-width: 280px; }
.redesign .repbar .store-search::placeholder { color: #8a8a8a; }
.redesign .repbar .store-search:focus { outline: none; border-color: var(--gold-soft); }
.redesign .repbar .rep-store-go { background: transparent; border: 1px solid #3a3a3a; color: var(--gold-soft); padding: 9px 16px; font-family: var(--sans); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; }
.redesign .repbar .rep-store-go:hover { border-color: var(--white); color: var(--white); }
.redesign .repbar .rep-store-clear { color: #8a8a8a; font-size: 18px; line-height: 1; padding: 0 4px; }
.redesign .repbar .rep-store-clear:hover { color: var(--white); }
.redesign .repbar .rep-link { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-soft); }
.redesign .repbar .rep-link:hover { color: var(--white); }

.redesign .tile.add { border: 1.5px dashed #BdBdBd; background: var(--ivory); box-shadow: none; align-items: center; justify-content: center; text-align: center; padding: 40px 24px; }
.redesign .tile.add:hover { border-color: var(--ink); background: var(--white); }
.redesign .tile.add .plus { font-family: var(--serif); font-size: 46px; color: var(--ink); line-height: 1; }

/* Simple form grid (new store, onboarding forms) */
.redesign .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 26px; }
.redesign .form-grid .full { grid-column: 1 / -1; }
@media (max-width: 600px) { .redesign .form-grid { grid-template-columns: 1fr; } }

@media (max-width: 600px) {
	.redesign .repbar .inner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 12px 20px; }
}

/* ============================================================
   Lookbook — full-screen presentation mode (lookbook.php)
   ============================================================ */
.redesign .lookbook { position: fixed; inset: 0; background: #0c0c0c; color: #fff; display: flex; flex-direction: column; z-index: 100; }
.redesign .lb-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 28px; border-bottom: 1px solid #232323; }
.redesign .lb-bar .lb-word { font-family: var(--serif); letter-spacing: 0.4em; font-size: 18px; }
.redesign .lb-bar a { color: #bdbdbd; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
.redesign .lb-bar a:hover { color: #fff; }
.redesign .lb-stage { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.redesign .lb-main { width: 100%; height: 100%; background: linear-gradient(135deg, #3a3a3a, #1c1c1c 60%, #2a2a2a); display: flex; align-items: center; justify-content: center; }
.redesign .lb-main img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* Desktop: image fills the stage height (touches top & bottom of lb-main) */
@media (min-width: 1025px) {
	.redesign .lb-main img { width: auto; max-width: 100%; height: 100%; }
}
.redesign .lb-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; border: 1px solid rgba(255,255,255,0.35); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; cursor: pointer; background: rgba(0,0,0,0.25); transition: all 0.2s; z-index: 2; }
.redesign .lb-arrow:hover { background: rgba(255,255,255,0.15); border-color: #fff; }
.redesign .lb-arrow.prev { left: 28px; }
.redesign .lb-arrow.next { right: 28px; }
.redesign .lb-footer { border-top: 1px solid #232323; padding: 18px 28px 22px; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.redesign .lb-info .lb-name { font-family: var(--serif); font-size: 30px; line-height: 1.1; }
.redesign .lb-info .lb-sub { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: #b0b0b0; margin-top: 6px; }
.redesign .lb-info .lb-price { font-family: var(--serif); font-size: 22px; margin-top: 8px; }
.redesign .lb-thumbs { display: flex; gap: 12px; }
.redesign .lb-thumb { width: 64px; height: 80px; background: linear-gradient(135deg, #3a3a3a, #1f1f1f); border: 1px solid #2c2c2c; cursor: pointer; background-size: cover; background-position: top center; }
.redesign .lb-thumb.active { border-color: #fff; }
.redesign .lb-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.redesign .lb-swatches { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; max-width: 320px; }
.redesign .lb-swatch { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.4); }
.redesign .lb-color-btn { display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,0.4); color: #fff; background: transparent; padding: 6px 12px; font-family: var(--sans); font-size: 11px; letter-spacing: 0.08em; text-transform: capitalize; white-space: nowrap; }
.redesign .lb-color-btn .lb-dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.45); flex: none; }
.redesign .btn.light { background: #fff; color: #111; border-color: #fff; }
.redesign .btn.light:hover { background: transparent; color: #fff; }
.redesign .btn.outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.redesign .btn.outline-light:hover { background: #fff; color: #111; border-color: #fff; }

/* PDP action notice popup (#action_error) — black background, white text */
.redesign #action_error .modal-content { background: var(--ink); color: var(--white); border: none; border-radius: 0; box-shadow: var(--shadow); }
.redesign #action_error .modal-body { padding: 20px 24px; }
.redesign #action_error .alert { background: transparent !important; color: var(--white) !important; border: none; margin: 0; padding: 0; }
.redesign #action_error .alert .text { color: var(--white); }
.redesign #action_error .alert .close { color: var(--white); opacity: 0.7; text-shadow: none; }
.redesign #action_error .alert .close:hover { opacity: 1; color: var(--white); }

/* Cart notice popup (Updated / Removed / Added) — black background, white text */
.redesign.online_ordering #error .modal-content { background: var(--ink); color: var(--white); border: none; border-radius: 0; box-shadow: var(--shadow); }
.redesign.online_ordering #error .modal-body { padding: 20px 24px; }
.redesign.online_ordering #error .alert { background: transparent !important; color: var(--white) !important; border: none; margin: 0; padding: 0; }
.redesign.online_ordering #error .alert .text { color: var(--white); }
.redesign.online_ordering #error .close { color: var(--white); opacity: 0.7; text-shadow: none; }
.redesign.online_ordering #error .close:hover { opacity: 1; color: var(--white); }

/* Submit "Your Order" popup (missing fields) — black background, white text */
.redesign.online_ordering #order .modal-content { background: var(--ink); color: var(--white); border: none; border-radius: 0; box-shadow: var(--shadow); }
.redesign.online_ordering #order .modal-header { border-bottom: 1px solid rgba(255,255,255,0.15); }
.redesign.online_ordering #order .modal-header .modal-title { color: var(--white); }
.redesign.online_ordering #order .modal-header .close { color: var(--white); opacity: 0.75; text-shadow: none; }
.redesign.online_ordering #order .modal-header .close:hover { opacity: 1; color: var(--white); }
.redesign.online_ordering #order .modal-body { color: var(--white); }
.redesign.online_ordering #order .alert { background: transparent !important; color: var(--white) !important; border: none; }
.redesign.online_ordering #order .modal-footer { border-top: 1px solid rgba(255,255,255,0.15); }
.redesign.online_ordering #order .modal-footer .btn { background: transparent; border: 1px solid rgba(255,255,255,0.5); color: var(--white); }
.redesign.online_ordering #order .modal-footer .btn:hover { background: var(--white); color: var(--ink); }

/* ============================================================
   Login (index.php)
   ============================================================ */
.redesign .login-wrap { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.redesign .login-visual { position: relative; background: linear-gradient(135deg, #2a2a2a 0%, #0c0c0c 60%, #1c1c1c 100%); color: #fff; display: flex; align-items: flex-end; padding: 48px; overflow: hidden; }
.redesign .login-visual .lv-tag { position: relative; z-index: 2; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-soft); }
.redesign .login-visual .lv-motif { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: var(--serif); font-size: 340px; color: rgba(255,255,255,0.06); line-height: 1; user-select: none; }
.redesign .login-panel { display: flex; align-items: center; justify-content: center; padding: 40px 24px; background: var(--ivory); }
.redesign .login-card { width: 100%; max-width: 400px; text-align: center; }
.redesign .login-logo { display: inline-block; line-height: 0; }
.redesign .login-logo img { height: 56px; width: auto; }
.redesign .login-sub { font-size: 10px; letter-spacing: 0.5em; text-transform: uppercase; color: var(--taupe); margin: 12px 0 30px; }
.redesign .login-field { text-align: left; margin-bottom: 18px; }
.redesign .login-field label { display: block; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.redesign .login-field input { width: 100%; border: 1px solid var(--line); background: var(--white); padding: 13px 15px; font-family: var(--sans); font-size: 14px; outline: none; border-radius: 0; }
.redesign .login-field input:focus { border-color: var(--ink); }
.redesign .login-row { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--taupe); margin: 6px 0 22px; }
.redesign .login-row label { display: flex; gap: 8px; align-items: center; cursor: pointer; }
.redesign .login-row a { color: var(--taupe); }
.redesign .login-row a:hover { color: var(--ink); }
.redesign .login-error { background: #faf0f0; border-left: 2px solid #b04a4a; color: #7a2e2e; font-size: 13px; padding: 11px 14px; margin-bottom: 20px; text-align: left; }
.redesign .login-help { margin-top: 28px; font-size: 12px; line-height: 1.9; color: var(--taupe); }
.redesign .login-help a { color: var(--ink); }
@media (max-width: 820px) { .redesign .login-wrap { grid-template-columns: 1fr; } .redesign .login-visual { display: none; } }

/* Cart table -> stacked cards on mobile: item + total on top, then colour/size/qty in one row */
@media (max-width: 600px) {
	.redesign .order-table { border: 0; background: transparent; }
	.redesign .order-table thead { display: none; }
	.redesign .order-table tr.item { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px 8px; align-items: start; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-sm); padding: 16px 16px; margin-bottom: 16px; }
	.redesign .order-table tr.item.has-note { margin-bottom: 0; }
	.redesign .order-table tr.item > td { padding: 0; border: 0; min-width: 0; }
	/* Row 1: item block (cols 1-2) + total (col 3, top-right) */
	.redesign .order-table tr.item > td:first-child { grid-column: 1 / 3; grid-row: 1; }
	.redesign .order-table tr.item > td.col-total { grid-column: 3 / 4; grid-row: 1; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-family: var(--serif); font-size: 16px; color: var(--ink); }
	/* Row 2: colour | size | qty */
	.redesign .order-table tr.item > td.col-color { grid-column: 1 / 2; }
	.redesign .order-table tr.item > td.col-size { grid-column: 2 / 3; }
	.redesign .order-table tr.item > td.col-qty { grid-column: 3 / 4; }
	.redesign .order-table tr.item > td.col-color,
	.redesign .order-table tr.item > td.col-size,
	.redesign .order-table tr.item > td.col-qty { display: flex; flex-direction: column; gap: 5px; padding-top: 12px; border-top: 1px solid var(--line); }
	.redesign .order-table tr.item > td[data-label]::before { content: attr(data-label); font-family: var(--sans); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--taupe); }
	.redesign .order-table .cart-select { min-width: 0; width: 100%; padding: 8px 6px; font-size: 13px; }
	.redesign .order-table .order-item-main { margin-bottom: 4px; }
	/* note row spans full width */
	.redesign .order-table tr.note-row { display: block; background: var(--white); border: 1px solid var(--line); border-top: 0; box-shadow: var(--shadow-sm); padding: 0 16px 16px; margin-bottom: 16px; }
	.redesign .order-table tr.note-row > td { display: block; width: 100%; padding: 0; border: 0; }
	.redesign .note-row .cart-note { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Lookbook (new) — immersive full-screen presentation (lookbook-new.php)
   ============================================================ */
.redesign .lb2 { position: fixed; inset: 0; background: #0c0c0c; overflow: hidden; }
.redesign .lb2-img { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.redesign .lb2-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.redesign .lb2-scrim-top { position: absolute; top: 0; left: 0; right: 0; height: 150px; background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0)); z-index: 2; pointer-events: none; }
.redesign .lb2-scrim-bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 300px; background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.8)); z-index: 2; pointer-events: none; }
.redesign .lb2-top { position: absolute; top: 0; left: 0; right: 0; padding: 18px 24px; z-index: 4; color: #fff; }
.redesign .lb2-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.redesign .lb2-top .lb2-hint { text-align: center; margin-top: 10px; }
.redesign .lb2-word { font-family: var(--serif); letter-spacing: 0.4em; font-size: 18px; }
.redesign .lb2-stylenav { display: flex; align-items: center; gap: 16px; }
.redesign .lb2-stylenav a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,0.4); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; cursor: pointer; line-height: 1; transition: all 0.2s; }
.redesign .lb2-stylenav a:hover { background: rgba(255,255,255,0.15); border-color: #fff; }
.redesign .lb2-stylenav .sn-label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #cfcfcf; white-space: nowrap; }
.redesign .lb2-exit { color: #cfcfcf; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
.redesign .lb2-exit:hover { color: #fff; }
.redesign .lb2-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border: 1px solid rgba(255,255,255,0.35); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 22px; cursor: pointer; background: rgba(0,0,0,0.22); z-index: 4; transition: all 0.2s; }
.redesign .lb2-arrow:hover { background: rgba(255,255,255,0.15); border-color: #fff; }
.redesign .lb2-arrow.left { left: 20px; }
.redesign .lb2-arrow.right { right: 20px; }
.redesign .lb2-bottom { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 24px 26px; z-index: 4; color: #fff; }
.redesign .lb2-row1 { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; flex-wrap: wrap; }
.redesign .lb2-name { font-family: var(--serif); font-size: 42px; line-height: 1.05; }
.redesign .lb2-price { font-family: var(--serif); font-size: 21px; margin-top: 6px; }
.redesign .lb2-strip { display: flex; gap: 10px; }
.redesign .lb2-tn { width: 52px; height: 66px; background-size: cover; background-position: top center; background-color: #1f1f1f; border: 1px solid rgba(255,255,255,0.3); cursor: pointer; }
.redesign .lb2-tn.active { border-color: #fff; }
.redesign .lb2-order { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 16px; flex-wrap: wrap; }
.redesign .lb2-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.redesign .lb2-select { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.4); padding: 10px 14px; font-family: var(--sans); font-size: 13px; border-radius: 0; }
.redesign .lb2-select option { color: #111; }
.redesign .lb2-hint { margin-top: 14px; font-size: 11px; letter-spacing: 0.1em; color: #b0b0b0; }
.redesign .lb2-toast { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.94); background: rgba(0,0,0,0.85); color: #fff; padding: 16px 30px; border: 1px solid rgba(255,255,255,0.3); font-family: var(--sans); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0; pointer-events: none; transition: opacity 0.25s ease, transform 0.25s ease; z-index: 20; }
.redesign .lb2-toast.show { opacity: 1; transform: translate(-50%, -50%) scale(1); }
@media (max-width: 600px) {
	.redesign .lb2-word { font-size: 15px; letter-spacing: 0.3em; }
	.redesign .lb2-arrow { width: 42px; height: 42px; font-size: 18px; }
	.redesign .lb2-name { font-size: 24px; }
	.redesign .lb2-order { gap: 8px; }
	.redesign .lb2-select { flex: 1; min-width: 0; padding: 10px 8px; }
}

/* responsive */
/* nothing on the page may force a horizontal scroll — a single wide element
   otherwise shifts the whole layout and "cuts off" both edges (iPad portrait).
   "clip" (not "hidden") so the sticky masthead/filter rail keep working. */
html, body.redesign { overflow-x: clip; }
@media (max-width: 1024px) {
  .redesign .tiles { grid-template-columns: repeat(2, 1fr); }
  .redesign .product-grid { grid-template-columns: repeat(2, 1fr); }
  .redesign .shop-layout.filters-collapsed .product-grid { grid-template-columns: repeat(2, 1fr); }
  .redesign .pdp, .redesign .shop-layout, .redesign .order-layout { grid-template-columns: 1fr; gap: 32px; }
  /* grid children default to min-width:auto — a wide child (gallery/chips) then
     blows the column out past the viewport; this keeps them shrinkable */
  .redesign .pdp > *, .redesign .shop-layout > *, .redesign .order-layout > * { min-width: 0; max-width: 100%; }
  /* comfortable breathing room on tablet widths */
  .redesign .wrap, .redesign .topbar, .redesign .masthead { padding-left: 32px; padding-right: 32px; }
  /* the 5 nav items don't fit on one centered line at iPad-portrait widths —
     a centered flex row overflows BOTH edges ("cut off left and right");
     wrapping keeps every item visible */
  .redesign .mainnav { flex-wrap: wrap; gap: 12px 26px; }
  .redesign .topbar { flex-wrap: wrap; gap: 8px 16px; }
  .redesign .filters { border-right: 0; position: static; }
  .redesign .hero-photo { height: auto; }
  .redesign .site-footer .cols { grid-template-columns: 1fr 1fr; }
  /* "You May Also Like": keep all 3 related styles on one row, scaled down */
  .redesign .related .product-grid { grid-template-columns: repeat(3, 1fr); gap: 20px 16px; }
  .redesign .related .product .product-name { font-size: 17px; }
  .redesign .related .product .product-info { padding: 12px 10px 16px; }
}
@media (max-width: 600px) {
  .redesign .wrap, .redesign .topbar, .redesign .masthead { padding-left: 20px; padding-right: 20px; }
  .redesign .tiles { grid-template-columns: 1fr; }
  .redesign .product-grid { grid-template-columns: repeat(2, 1fr); gap: 18px 12px; }
  .redesign .shop-layout.filters-collapsed .product-grid { grid-template-columns: repeat(2, 1fr); }
  .redesign .mainnav { gap: 18px; flex-wrap: wrap; }
  .redesign .page-head h1 { font-size: 38px; }
  .redesign .topbar { flex-direction: column; gap: 8px; align-items: flex-start; }
}
