/* Stock/offer links: quiet brand treatment; red is reserved for the count. */
.offer-link { display:inline-flex; align-items:center; gap:8px; color:var(--ink,#232b26); text-decoration:none; }
.nav .offer-link { min-width:44px; min-height:44px; justify-content:center; gap:5px; padding:6px; text-decoration:none; }
.offer-tag { width:20px; height:20px; flex:none; }
.offer-count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding-inline:4px; border-radius:50%; background:#a83b32; color:#fff; font:600 10px/1 var(--body,sans-serif); letter-spacing:0; flex:none; }
.offer-link[hidden],.offer-count[hidden],.offer-catalog[hidden],.offers-empty[hidden],.offer-fields[hidden],.offer-selected[hidden],.offer-discount-row[hidden] { display:none!important; }
.nav .offer-count { min-width:0; height:auto; padding:0; border-radius:0; background:none; color:#a83b32; font:500 14px/1.3 var(--body,sans-serif); }
.nav-actions { gap:22px; }
.menu-links .offer-menu-title { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.offer-menu-title>span:first-child { min-width:0; }
.menu-links .offer-count { width:18px; }
.offer-discovery { margin:0 0 36px; }
.offer-discovery .offer-link { display:flex; width:100%; min-height:58px; padding:16px 20px; gap:12px; border:1px solid #254b38; background:#fff; color:#254b38; font:500 14px/1.5 var(--disp,sans-serif); letter-spacing:.035em; text-align:left; }
.offer-discovery .offer-link:hover { background:#e9eee5; }
.offer-discovery .offer-link:active { background:#e1e8db; }
.offer-discovery .offer-link:focus-visible { outline:2px solid #254b38; outline-offset:4px; }
.offer-discovery p { margin:11px 0 0; color:var(--muted); font-size:13px; }
.offer-discovery .offer-arrow { margin-left:auto; font-size:22px; line-height:1; flex:none; }
/* One clear total, quieter details, readable wrapping at narrow phone widths. */
.page-order .cfg-price { padding:22px; background:#f4f6f2; border:1px solid #e0e3dd; }
.page-order .cfg-price .grand { align-items:baseline; flex-wrap:wrap; gap:8px 18px; }
.page-order .cfg-price .grand dd { font-size:clamp(28px,6vw,36px); line-height:1.25; white-space:nowrap; }
.page-order .contact .sec-head h2 { max-width:23ch; font-size:clamp(28px,4vw,40px); line-height:1.2; text-transform:none; letter-spacing:.015em; }
.page-order .contact .sec-head>p:last-child { max-width:54ch; font-size:15px; line-height:1.8; }
.offer-selected { margin:0 0 25px; padding:17px 20px; border-left:2px solid var(--green,#183c2d); background:#e9eee5; font-size:14px; }
.offer-selected p { margin:0; }
.offer-discount-row { color:#244d37; }
/* The offers page follows the same architectural typography as DOMIO. */
.offers-intro { padding:48px 0 30px; }
.offers-back { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #d4dbd0; border-radius:50%; color:var(--ink); text-decoration:none; }
.offers-back:hover { background:#f4f6f2; }
.offers-back:focus-visible { outline:2px solid #254b38; outline-offset:4px; }
.offers-back svg { width:20px; height:20px; }
.offers-intro .lbl { color:var(--sand); margin:25px 0 14px; }
.offers-intro h1 { font:300 clamp(34px,5vw,58px)/1.15 var(--disp,sans-serif); text-transform:none; letter-spacing:.01em; margin:0 0 16px; }
.offers-intro .offers-lede { max-width:55ch; margin:0; font-size:16px; color:var(--muted); }
.offers-list-section { padding:0 0 72px; }
.offer-card { padding-top:28px; border-top:1px solid var(--hair); margin-top:12px; }
.offer-card+.offer-card { margin-top:50px; }
.offer-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr); column-gap:64px; align-items:start; }
.offer-photo { margin:0; grid-column:1; grid-row:1 / span 2; }
.offer-photo img { width:100%; height:auto; aspect-ratio:1448/1086; object-fit:contain; background:#f4f6f2; }
.offer-photo figcaption { font-size:12px; color:var(--muted); margin-top:10px; line-height:1.6; }
.offer-heading { grid-column:2; grid-row:1; min-width:0; }
.offer-actions { grid-column:2; grid-row:3 / span 2; min-width:0; }
.offer-stock { display:inline-flex; align-items:center; gap:8px; margin:0 0 16px; padding:7px 11px; background:#fbf0eb; color:#963f2f; border:1px solid #efd6ca; border-radius:3px; font-size:12px; font-weight:600; line-height:1.5; }
.offer-stock::before { content:""; width:5px; height:5px; flex:none; border-radius:50%; background:currentColor; }
.offer-heading h2 { margin:0 0 11px; font:400 clamp(28px,3vw,38px)/1.2 var(--disp,sans-serif); text-transform:none; letter-spacing:.01em; }
.offer-description { color:var(--muted); font-size:15px; line-height:1.8; margin:0 0 22px; }
.offer-specs { display:flex; flex-wrap:wrap; gap:9px 20px; list-style:none; padding:0; margin:0 0 24px; font-size:13px; color:#626a64; }
.offer-specs li+li { border-left:1px solid #d4dbd0; padding-left:20px; }
.offer-price-block { grid-column:2; grid-row:2; padding-block:20px; border-block:1px solid var(--hair); }
.offer-was { margin:0 0 5px; font-size:15px; color:var(--muted); }
.offer-was del { text-decoration-thickness:1px; }
.offer-price { display:flex; align-items:baseline; gap:9px; margin:0; color:var(--green,#183c2d); font:400 clamp(36px,5vw,48px)/1.15 var(--disp,sans-serif); letter-spacing:-.02em; }
.offer-price small { font:400 16px/1.5 var(--body,sans-serif); letter-spacing:0; }
.offer-price strong { font-weight:500; }
.offer-price .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.offer-saving { margin:9px 0 0; color:#365b45; font-size:13px; }
.offer-price-note { margin:9px 0 0; font-size:12px; line-height:1.7; color:var(--muted); }
.offer-transport { grid-column:1; grid-row:3; margin-top:26px; padding:24px; background:#f4f6f2; }
.offer-transport h3 { margin:0; font:500 14px/1.5 var(--disp,sans-serif); letter-spacing:.1em; text-transform:uppercase; }
.offer-transport .chk { margin-block:15px 12px; font-size:16px; min-height:44px; }
.offer-transport input[type=checkbox] { width:23px; height:23px; accent-color:#244d37; }
.offer-transport p { font-size:13px; line-height:1.7; color:var(--muted); margin:0; }
.offer-fields { margin-top:18px; }
.offer-fields label { display:block; margin-bottom:7px; font-size:13px; }
.offer-search-control { position:relative; }
.offer-search-icon { position:absolute; left:14px; top:16px; width:18px; height:18px; color:#667267; pointer-events:none; }
.offer-destination { width:100%; min-height:50px; padding:12px 12px 12px 42px; border:1px solid #bfcabc; border-radius:0; background:#fff; color:#232b26; font:16px var(--body,sans-serif); }
.offer-destination:focus { outline:2px solid #254b38; outline-offset:2px; }
.offer-suggestions { position:absolute; z-index:20; left:0; right:0; top:calc(100% + 5px); max-height:260px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #bfcabc; background:#fff; box-shadow:0 12px 28px #183c2d18; }
.offer-suggestions[hidden] { display:none; }
.offer-suggestions [role=option] { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; min-height:48px; font-size:14px; line-height:1.5; cursor:pointer; }
.offer-suggestions [role=option]:hover,.offer-suggestions [aria-selected=true] { background:#e9eee5; }
.offer-place-price { white-space:nowrap; color:#626a64; font-size:12px; }
.offer-transport .offer-search-hint { margin:10px 0 0; font-size:12px; }
.offer-totals { margin:23px 0 20px; }
.offer-totals div { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin:9px 0; font-size:14px; }
.offer-totals dt { color:var(--muted); }
.offer-totals dd { margin:0; text-align:right; }
.offer-totals .offer-total { padding-top:13px; margin-top:13px; border-top:1px solid var(--hair); font-size:19px; }
.offer-totals .offer-total dt { color:var(--ink); }
.offer-request { display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:56px; padding:16px 18px; text-align:center; text-decoration:none; font-size:13px; white-space:normal; }
.offer-whatsapp { display:block; width:fit-content; min-height:44px; padding-block:12px; margin:8px auto 0; font-size:13px; color:#365b45; text-underline-offset:5px; }
.offer-enquiry-note { font-size:12px; color:var(--muted); line-height:1.7; margin:12px 0 0; }
.offer-details { grid-column:1; grid-row:4; margin-top:24px; border-top:1px solid var(--hair); padding-top:16px; }
.offer-details summary { min-height:44px; cursor:pointer; font:400 15px/1.6 var(--disp,sans-serif); }
.offer-details p { margin:8px 0 0; font-size:14px; color:var(--muted); line-height:1.8; }
.offers-empty { padding:44px 24px; text-align:center; background:#f4f6f2; }
.offers-empty h2 { font-size:28px; text-transform:none; }
.offers-empty p { max-width:50ch; margin:18px auto 25px; color:var(--muted); font-size:15px; }
.offers-empty .btn { display:inline-flex; align-items:center; min-height:52px; text-decoration:none; }
.offers-noscript { padding:24px; background:#f4f6f2; }
@media(max-width:959px) { .offer-grid { column-gap:32px; grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr); } .nav-actions{gap:16px;} }
@media(max-width:719px) {
  .nav-in { gap:12px; }
  .nav-actions { gap:12px; }
  .offers-intro { padding:28px 0 24px; }
  .offers-intro .lbl { margin-top:18px; }
  .offers-intro .offers-lede { font-size:15px; }
  .offer-grid { display:flex; flex-direction:column; gap:0; }
  .offer-photo,.offer-heading,.offer-transport { width:100%; }
  .offer-heading { order:0; }
  .offer-photo { order:1; }
  .offer-price-block { order:2; width:100%; margin-top:20px; }
  .offer-transport { order:3; padding:20px; margin-top:24px; }
  .offer-actions { order:4; width:100%; }
  .offer-details { order:5; width:100%; }
  .offer-heading h2 { font-size:29px; }
  .offer-stock { margin-bottom:12px; }
  .offer-description { margin-bottom:12px; }
  .offer-specs { margin-bottom:20px; }
  .offer-card { margin-top:0; padding-top:24px; }
  .offer-price { font-size:40px; }
  .offer-discovery { margin-bottom:30px; }
  .offer-discovery .offer-link { padding-inline:16px; gap:9px; }
  .offer-discovery p { font-size:12px; }
}
@media(max-width:370px) {
  .nav-in { gap:9px; }
  .nav-actions { gap:9px; }
  .nav .brand span { font-size:19px; letter-spacing:.12em; }
  .nav .brand img { width:27px; }
  .nav .brand { gap:6px; }
  .offer-specs { gap:8px 12px; }
  .offer-specs li+li { padding-left:12px; }
}
