/* Approved hero-photo ordering design, scoped away from other public pages. */
.bayou-order-preview {
  --bayou-navy:#071947; --bayou-gold:#b78a2e; --bayou-purple:#7411a6;
  --bayou-ink:#182442; --bayou-muted:#727789; --bayou-paper:#fffdf8;
  min-height:100dvh; background:var(--bayou-paper); color:var(--bayou-ink);
  font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.bayou-order-preview *, .bayou-order-preview *::before, .bayou-order-preview *::after { box-sizing:border-box; }
.bayou-order-preview button, .bayou-order-preview input { font:inherit; }
.bayou-order-preview button { color:inherit; }
.bayou-order-preview :is(h1,h2,h3,.editorial) { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; letter-spacing:-.025em; }
.bayou-order-preview :is(button,a,input):focus-visible { outline:3px solid #8d55a3; outline-offset:3px; }
.bayou-order-preview [hidden] { display:none !important; }
.bayou-order-preview .order-skip { position:absolute; left:14px; top:-100px; z-index:100; padding:10px; background:#fff; }
.bayou-order-preview .order-skip:focus { top:10px; }
.bayou-order-preview .bayou-shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.bayou-order-preview .bayou-header {
  height:78px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center;
  justify-content:space-between; gap:24px; background:rgba(255,253,248,.96); border-bottom:1px solid rgba(183,138,46,.18);
}
.bayou-order-preview .bayou-brand { display:flex; align-items:center; gap:13px; min-width:0; }
.bayou-order-preview .bayou-brand img { height:58px; width:78px; object-fit:contain; border-radius:10px; }
.bayou-order-preview .bayou-brand-name { font-family:"Cormorant Garamond",Georgia,serif; color:var(--bayou-navy); font-size:20px; line-height:1; white-space:nowrap; }
.bayou-order-preview .bayou-brand-tag { display:block; margin-top:5px; color:#8b7754; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.bayou-order-preview .bayou-cart-trigger { position:relative; display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; padding:0; border:0; border-radius:12px; background:transparent; cursor:pointer; }
.bayou-order-preview .bayou-cart-count { width:auto; border-radius:999px; background:var(--bayou-navy); color:#fff; font-size:11px; }
.bayou-order-preview .bayou-intro { padding:45px 0 24px; border-bottom:1px solid #f0e9dc; }
.bayou-order-preview .bayou-intro-grid { display:grid; grid-template-columns:1fr auto; align-items:end; gap:28px; }
.bayou-order-preview .bayou-kicker { color:var(--bayou-gold); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.bayou-order-preview .bayou-intro h1 { margin:10px 0 5px; color:var(--bayou-navy); font-size:clamp(38px,5.2vw,58px); line-height:.98; font-weight:500; }
.bayou-order-preview .bayou-intro p { max-width:570px; margin:0; color:#62697a; font-size:14px; line-height:1.7; }
.bayou-order-preview .bayou-intro .bayou-order-status { max-width:none; margin:12px 0 0; font-size:11px; color:#78613c; }
.bayou-order-preview .bayou-tabs { display:flex; gap:8px; padding:6px; border:1px solid #eee5d6; border-radius:999px; background:#f9f6ef; }
.bayou-order-preview .bayou-tabs button { border:0; border-radius:999px; background:transparent; padding:12px 17px; color:#656b7a; font-size:12px; font-weight:700; cursor:pointer; transition:background .2s,color .2s; }
.bayou-order-preview .bayou-tabs button[aria-selected="true"] { background:var(--bayou-navy); color:#fff; box-shadow:0 5px 14px rgba(7,25,71,.12); }
.bayou-order-preview .bayou-catalog-layout { display:grid; grid-template-columns:minmax(0,1fr) 286px; gap:36px; padding:28px 0 72px; align-items:start; }
.bayou-order-preview .bayou-catalog-head { display:flex; justify-content:space-between; align-items:end; gap:14px; margin:0 0 17px; }
.bayou-order-preview .bayou-catalog-head h2 { margin:0; font-size:31px; color:var(--bayou-navy); font-weight:500; line-height:1; }
.bayou-order-preview .bayou-catalog-head p { margin:6px 0 0; color:var(--bayou-muted); font-size:12px; line-height:1.5; }
.bayou-order-preview .bayou-count-label { color:#8b7754; font-size:10px; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.bayou-order-preview .bayou-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.bayou-order-preview .bayou-product-card { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #ece5d9; border-radius:14px; box-shadow:0 5px 18px rgba(36,38,45,.045); transition:transform .22s,box-shadow .22s; }
.bayou-order-preview .bayou-product-card:hover { transform:translateY(-3px); box-shadow:0 13px 28px rgba(36,38,45,.1); }
.bayou-order-preview .bayou-photo { position:relative; height:244px; flex-shrink:0; overflow:hidden; background:#f4efe6; }
.bayou-order-preview .bayou-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.bayou-order-preview .bayou-sneaux-photo img { object-fit:contain; }
.bayou-order-preview .bayou-product-card:hover .bayou-photo img { transform:scale(1.035); }
.bayou-order-preview .bayou-photo-fallback { display:grid; place-items:center; min-height:150px; padding:24px; color:#62697a; font-size:12px; text-align:center; }
.bayou-order-preview .bayou-sold-label { position:absolute; top:13px; left:13px; padding:7px 10px; border-radius:99px; background:#fffaf0; color:#6f3334; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.bayou-order-preview .bayou-product-copy { display:flex; flex:1; flex-direction:column; padding:14px 16px 16px; }
.bayou-order-preview .bayou-product-top { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.bayou-order-preview .bayou-product-top h3 { margin:0; color:var(--bayou-navy); font-size:23px; line-height:1.05; font-weight:600; }
.bayou-order-preview .bayou-product-price { color:#51442f; font-size:12px; font-weight:700; white-space:nowrap; }
.bayou-order-preview .bayou-product-copy > p { flex:1; min-height:35px; margin:7px 0 13px; color:#737887; font-size:11px; line-height:1.55; }
.bayou-order-preview .bayou-configure { display:flex; width:100%; align-items:center; justify-content:space-between; gap:6px; border:1px solid #d9c59c; border-radius:8px; background:#fff; padding:10px 12px; color:var(--bayou-navy); font-size:11px; font-weight:700; cursor:pointer; transition:background .2s,color .2s; }
.bayou-order-preview .bayou-configure:hover:not(:disabled) { background:var(--bayou-navy); color:#fff; }
.bayou-order-preview button:disabled { opacity:.5; cursor:not-allowed; }
.bayou-order-preview .bayou-order-aside { position:sticky; top:18px; padding:20px 18px; border:1px solid #e9e0cf; border-radius:14px; background:#fff; }
.bayou-order-preview .bayou-aside-top { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:13px; border-bottom:1px solid #eee8dd; }
.bayou-order-preview .bayou-aside-top h2 { margin:0; color:var(--bayou-navy); font-size:25px; font-weight:500; }
.bayou-order-preview .bayou-aside-top span { color:#8c7a5d; font-size:10px; }
.bayou-order-preview .bayou-empty { padding:22px 0 20px; color:#787d89; font-size:12px; line-height:1.6; }
.bayou-order-preview .bayou-empty strong { display:block; margin-bottom:4px; color:#404a60; font-family:"Cormorant Garamond",Georgia,serif; font-size:21px; font-weight:600; }
.bayou-order-preview .bayou-cart-lines { display:grid; gap:12px; max-height:360px; overflow:auto; padding:14px 0; }
.bayou-order-preview .bayou-cart-line { display:grid; grid-template-columns:1fr auto; gap:8px; padding-bottom:12px; border-bottom:1px solid #f0ece4; }
.bayou-order-preview .bayou-cart-line h3 { margin:0 0 3px; color:var(--bayou-navy); font-size:18px; line-height:1.1; font-weight:600; }
.bayou-order-preview .bayou-cart-line small { display:block; color:#777d89; font-size:10px; line-height:1.45; }
.bayou-order-preview .bayou-line-price { color:#51442f; font-size:11px; font-weight:700; }
.bayou-order-preview .bayou-quantity { display:flex; align-items:center; gap:9px; margin-top:8px; }
.bayou-order-preview .bayou-quantity button { display:grid; place-items:center; min-width:27px; min-height:27px; border:1px solid #e3dacb; border-radius:50%; background:#fff; cursor:pointer; }
.bayou-order-preview .bayou-quantity span { min-width:12px; text-align:center; font-size:11px; font-weight:700; }
.bayou-order-preview .bayou-quantity .bayou-edit { border:0; border-radius:0; font-size:11px; text-decoration:underline; }
.bayou-order-preview .bayou-remove { border:0 !important; color:#8d6670; }
.bayou-order-preview .bayou-total { display:flex; justify-content:space-between; padding-top:14px; border-top:1px solid #e9e1d5; color:var(--bayou-navy); font-size:13px; font-weight:700; }
.bayou-order-preview .bayou-paused { margin-top:15px; padding:12px; border-radius:8px; background:#f8f5ee; color:#666c79; font-size:11px; line-height:1.55; }
.bayou-order-preview .bayou-backdrop { margin:0; border:0; position:fixed; inset:0; z-index:80; width:100%; height:100dvh; max-width:none; max-height:none; padding:18px; background:transparent; }
.bayou-order-preview .bayou-backdrop[open] { display:grid; place-items:center; }
.bayou-order-preview .bayou-backdrop::backdrop { background:rgba(7,25,71,.38); }
.bayou-order-preview .bayou-dialog { position:relative; display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,1fr); width:min(860px,100%); max-height:min(90dvh,780px); overflow:auto; border-radius:17px; background:#fffdf8; box-shadow:0 24px 70px rgba(7,25,71,.2); animation:bayou-order-dialog-in .2s ease-out both; }
@keyframes bayou-order-dialog-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.bayou-order-preview .bayou-dialog-photo { min-height:100%; background:#f5efe4; }
.bayou-order-preview .bayou-dialog-photo img { display:block; position:sticky; top:0; width:100%; height:100%; max-height:780px; object-fit:cover; }
.bayou-order-preview .bayou-dialog-photo.bayou-sneaux-photo img { object-fit:contain; }
.bayou-order-preview .bayou-dialog-body { padding:28px; min-width:0; }
.bayou-order-preview .bayou-close { position:absolute; top:12px; right:12px; z-index:2; display:grid; place-items:center; width:36px; height:36px; border:1px solid #e8dfd0; border-radius:50%; background:rgba(255,253,248,.94); cursor:pointer; }
.bayou-order-preview .bayou-dialog-kicker { color:var(--bayou-gold); font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.bayou-order-preview .bayou-dialog-body h2 { margin:6px 0 4px; color:var(--bayou-navy); font-size:35px; line-height:1; font-weight:500; }
.bayou-order-preview .bayou-dialog-description { margin:0 0 17px; color:#777c88; font-size:11px; line-height:1.6; }
.bayou-order-preview .bayou-option-group { margin-top:14px; }
.bayou-order-preview .bayou-option-title { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; color:#29344c; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.bayou-order-preview .bayou-option-title small { color:#727684; font-size:9px; font-weight:500; letter-spacing:0; text-transform:none; }
.bayou-order-preview .bayou-option-list { display:flex; flex-wrap:wrap; gap:6px; }
.bayou-order-preview .bayou-choice { border:1px solid #e3dbce; border-radius:7px; background:#fff; padding:8px 10px; color:#525b6c; font-size:11px; cursor:pointer; }
.bayou-order-preview .bayou-choice[aria-pressed="true"] { border-color:var(--bayou-purple); background:#f8f1fb; color:#5e197e; box-shadow:inset 0 0 0 1px var(--bayou-purple); }
.bayou-order-preview .bayou-choice span { margin-left:3px; color:#806180; }
.bayou-order-preview .bayou-dialog-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:21px; padding-top:16px; border-top:1px solid #eee7dc; }
.bayou-order-preview .bayou-qty-control { display:flex; align-items:center; gap:12px; }
.bayou-order-preview .bayou-qty-control button { display:grid; place-items:center; width:32px; height:32px; border:1px solid #dfd6c7; border-radius:50%; background:#fff; cursor:pointer; }
.bayou-order-preview .bayou-qty-control span { min-width:12px; text-align:center; font-size:12px; font-weight:700; }
.bayou-order-preview .bayou-add-button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; border:0; border-radius:7px; background:var(--bayou-navy); color:#fff !important; padding:12px 14px; font-size:11px; font-weight:700; cursor:pointer; }
.bayou-order-preview .bayou-review-cart { display:flex; margin-top:14px; }
.bayou-order-preview .bayou-dialog.bayou-cart-dialog { display:block; width:min(520px,100%); }
.bayou-order-preview .bayou-line-error { color:#a13b4a !important; font-size:12px; }
.bayou-order-preview .bayou-mobile-cart { display:none; }
.bayou-order-preview .bayou-order-signoff { padding:0 0 64px; text-align:center; scroll-margin-top:24px; }
.bayou-order-preview .bayou-order-signoff h2 { margin:0 0 10px; color:var(--bayou-navy); font-size:clamp(2.15rem,3.8vw,3rem); line-height:1.08; font-weight:500; }
.bayou-order-preview .bayou-order-signoff h2 span { color:var(--bayou-purple); }
.bayou-order-preview .bayou-order-signoff p { margin:0; color:#62697a; font-size:clamp(.85rem,1.4vw,1rem); line-height:1.6; }
@media (max-width:900px) {
  .bayou-order-preview .bayou-catalog-layout { grid-template-columns:1fr; }
  .bayou-order-preview .bayou-order-aside { display:none; }
  .bayou-order-preview .bayou-mobile-cart { position:fixed; z-index:30; right:14px; bottom:max(14px,env(safe-area-inset-bottom)); left:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:0; border-radius:10px; background:var(--bayou-navy); color:#fff !important; padding:14px 17px; box-shadow:0 9px 30px rgba(7,25,71,.22); font-size:12px; font-weight:700; cursor:pointer; }
  .bayou-order-preview .bayou-mobile-cart small { color:#e2d6b9; font-size:10px; font-weight:500; }
  .bayou-order-preview .bayou-mobile-cart > span:last-child { display:flex; align-items:center; gap:9px; }
  .bayou-order-preview.has-order-cart { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
}
@media (max-width:600px) {
  .bayou-order-preview .bayou-shell { width:calc(100% - 28px); }
  .bayou-order-preview .bayou-header { height:65px; padding:0 14px; gap:8px; }
  .bayou-order-preview .bayou-brand { gap:7px; }
  .bayou-order-preview .bayou-brand img { width:54px; height:48px; }
  .bayou-order-preview .bayou-brand-name { font-size:17px; }
  .bayou-order-preview .bayou-brand-tag { font-size:7px; margin-top:3px; }
  .bayou-order-preview .bayou-cart-trigger { padding:9px 11px; font-size:10px; gap:7px; }
  .bayou-order-preview .bayou-intro { padding:27px 0 20px; }
  .bayou-order-preview .bayou-intro-grid { display:block; }
  .bayou-order-preview .bayou-intro h1 { font-size:38px; line-height:1; }
  .bayou-order-preview .bayou-intro p { font-size:12px; line-height:1.6; }
  .bayou-order-preview .bayou-kicker { font-size:9px; }
  .bayou-order-preview .bayou-tabs { margin-top:18px; }
  .bayou-order-preview .bayou-tabs button { flex:1; padding:10px 12px; font-size:11px; }
  .bayou-order-preview .bayou-catalog-layout { padding-top:22px; gap:24px; }
  .bayou-order-preview .bayou-catalog-head { margin-bottom:13px; }
  .bayou-order-preview .bayou-catalog-head h2 { font-size:27px; }
  .bayou-order-preview .bayou-catalog-head p { font-size:10px; }
  .bayou-order-preview .bayou-count-label { font-size:8px; }
  .bayou-order-preview .bayou-grid { gap:10px; }
  .bayou-order-preview .bayou-photo { height:clamp(118px,40vw,180px); }
  .bayou-order-preview .bayou-product-copy { padding:10px 10px 11px; }
  .bayou-order-preview .bayou-product-top { display:block; }
  .bayou-order-preview .bayou-product-top h3 { font-size:19px; }
  .bayou-order-preview .bayou-product-price { display:block; margin-top:3px; font-size:10px; }
  .bayou-order-preview .bayou-product-copy > p { min-height:45px; margin:6px 0 9px; font-size:9px; line-height:1.45; }
  .bayou-order-preview .bayou-configure { padding:8px; font-size:9px; min-height:32px; }
  .bayou-order-preview .bayou-configure svg { width:13px; height:13px; }
  .bayou-order-preview .bayou-dialog { grid-template-columns:1fr; max-height:92dvh; }
  .bayou-order-preview .bayou-dialog-photo { height:190px; min-height:0; }
  .bayou-order-preview .bayou-dialog-photo img { position:static; height:190px; }
  .bayou-order-preview .bayou-dialog-body { padding:20px; }
  .bayou-order-preview .bayou-dialog-body h2 { font-size:30px; }
}
@media (max-width:359px) {
  .bayou-order-preview .bayou-brand-name { font-size:15px; }
  .bayou-order-preview .bayou-brand-tag { font-size:6px; }
  .bayou-order-preview .bayou-brand img { width:42px; }
  .bayou-order-preview .bayou-dialog-bottom { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .bayou-order-preview *, .bayou-order-preview *::before, .bayou-order-preview *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
