/* Marco Coffee V22 — PRODUCT DETAIL ONLY.  This file is intentionally last.
   One 440px portrait dialog, an isolated scrolling content area, and a fixed action dock.
   No admin, checkout, cart, loyalty, or payment rules are overridden. */
:root { --v22-gold:#94691f; --v22-ink:#292b2e; --v22-border:#e8e2d8; }
body #optionDialog {
  box-sizing:border-box !important;
  width:min(440px,calc(100vw - 24px)) !important;
  max-width:min(440px,calc(100vw - 24px)) !important;
  min-width:0 !important;
  height:min(740px,calc(100dvh - 24px)) !important;
  max-height:calc(100dvh - 24px) !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fff !important;
}
body #optionDialog .option-modal-inner {
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  min-height:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
}
body #optionDialog .v19-modal-scroll {
  box-sizing:border-box !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:17px 17px 22px !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body #optionDialog .detail-close {
  position:absolute !important;
  top:9px !important;
  right:9px !important;
  width:33px !important;
  height:33px !important;
  min-width:33px !important;
  border-radius:50% !important;
  z-index:9 !important;
}
body #optionDialog .v17-detail-grid {
  display:block !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
}
body #optionDialog .v22-product-summary {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-width:0 !important;
  padding:0 24px 13px 0 !important;
}
body #optionDialog .option-hero-image {
  box-sizing:border-box !important;
  display:grid !important;
  place-items:center !important;
  width:92px !important;
  height:100px !important;
  min-height:100px !important;
  max-height:100px !important;
  min-width:0 !important;
  padding:7px !important;
  margin:0 !important;
  background:#f9f7f3 !important;
  border:1px solid #f0ece7 !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
body #optionDialog .option-hero-image img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-height:86px !important;
  object-fit:contain !important;
}
body #optionDialog .option-hero-image img[hidden],
body #optionDialog .detail-image-missing[hidden] { display:none !important; }
body #optionDialog .detail-image-missing {
  font:400 10px/1.3 'Segoe UI',Arial,sans-serif !important;
  text-align:center !important;
  color:#898581 !important;
  overflow-wrap:break-word !important;
}
body #optionDialog .v22-product-intro { min-width:0 !important; padding-right:0 !important; }
body #optionDialog .option-modal-header {
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  align-items:flex-start !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}
body #optionDialog .option-modal-header h2 {
  width:100% !important;
  margin:0 !important;
  color:#262626 !important;
  font:700 21px/1.2 Georgia,'Times New Roman',serif !important;
  overflow-wrap:anywhere !important;
}
body #optionDialog .option-modal-header strong {
  margin:0 !important;
  color:var(--v22-gold) !important;
  font:750 17px/1.2 'Segoe UI',Arial,sans-serif !important;
  white-space:nowrap !important;
}
body #optionDialog .option-product-description {
  margin:5px 0 0 !important;
  font:400 12px/1.45 'Segoe UI',Arial,sans-serif !important;
  color:#77736f !important;
  overflow-wrap:anywhere !important;
}
body #optionDialog .v17-options-panel { padding:0 !important; min-width:0 !important; }
body #optionDialog .v17-option-heading {
  margin:0 0 7px !important;
  padding:8px 0 !important;
  gap:3px !important;
  border-top:1px solid var(--v22-border) !important;
  border-bottom:0 !important;
}
body #optionDialog .v17-option-heading strong { font-size:14px !important; }
body #optionDialog .v17-option-heading span { font-size:11px !important; }
body #optionDialog .option-group { padding:4px 0 7px !important; margin:0 0 6px !important; }
body #optionDialog .option-group legend { font-size:13px !important; }
body #optionDialog .option-group legend small { font-size:10px !important; }
body #optionDialog .option-choice-grid,
body #optionDialog .option-choice-grid:has(label:nth-child(3)) {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}
body #optionDialog .option-choice {
  box-sizing:border-box !important;
  min-width:0 !important;
  min-height:39px !important;
  padding:7px 9px !important;
  font-size:12px !important;
  overflow-wrap:anywhere !important;
}
body #optionDialog .option-no-extras {
  margin:1px 0 7px !important;
  padding:7px 0 !important;
  color:#777 !important;
  font:400 11px/1.45 'Segoe UI',Arial,sans-serif !important;
}
body #optionDialog .v17-recommendations {
  margin:7px 0 0 !important;
  padding:12px 0 0 !important;
  border-top:1px solid var(--v22-border) !important;
  min-width:0 !important;
}
body #optionDialog .v17-recommendation-header {
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:3px !important;
  margin:0 0 10px !important;
}
body #optionDialog .v17-recommendation-header span { font-size:9px !important; letter-spacing:1.7px !important; }
body #optionDialog .v17-recommendation-header h3 {
  margin:1px 0 !important;
  font:700 20px/1.2 Georgia,'Times New Roman',serif !important;
}
body #optionDialog .v17-recommendation-header small {
  display:block !important;
  margin:0 !important;
  max-width:100% !important;
  font:400 11px/1.4 'Segoe UI',Arial,sans-serif !important;
  color:#837e77 !important;
}
body #optionDialog .v17-recommendation-list {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:8px !important;
  min-width:0 !important;
  overflow:visible !important;
  padding:0 0 2px !important;
}
body #optionDialog .v17-rec-item {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:19px 48px minmax(0,1fr) !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:74px !important;
  gap:9px !important;
  padding:8px 9px !important;
  border-radius:12px !important;
}
body #optionDialog .v17-rec-check { min-width:0 !important; }
body #optionDialog .v17-rec-check>span { width:18px !important; height:18px !important; border-radius:5px !important; }
body #optionDialog .v17-rec-photo {
  box-sizing:border-box !important;
  width:48px !important;
  height:54px !important;
  min-width:48px !important;
  border-radius:8px !important;
}
body #optionDialog .v17-rec-photo img { max-width:100% !important; max-height:100% !important; object-fit:contain !important; }
body #optionDialog .v22-rec-copy {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
  gap:3px !important;
}
body #optionDialog .v22-rec-copy b {
  display:block !important;
  margin:0 !important;
  max-width:100% !important;
  color:#292725 !important;
  font:700 13px/1.25 Georgia,'Times New Roman',serif !important;
  overflow-wrap:anywhere !important;
}
body #optionDialog .v22-rec-copy small {
  display:block !important;
  width:100% !important;
  max-height:none !important;
  margin:0 !important;
  overflow:visible !important;
  color:#7b7771 !important;
  font:400 10.5px/1.35 'Segoe UI',Arial,sans-serif !important;
  overflow-wrap:anywhere !important;
}
body #optionDialog .v22-rec-price {
  display:block !important;
  max-width:100% !important;
  margin:1px 0 0 !important;
  color:var(--v22-gold) !important;
  font:800 12px/1.3 'Segoe UI',Arial,sans-serif !important;
  white-space:nowrap !important;
}
body #optionDialog .option-modal-footer {
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 108px !important;
  grid-template-rows:auto auto !important;
  gap:8px 10px !important;
  flex:0 0 auto !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:11px 15px max(13px,env(safe-area-inset-bottom)) !important;
  border-top:1px solid var(--v22-border) !important;
  background:#fff !important;
  box-shadow:0 -8px 24px rgba(40,34,24,.07) !important;
  position:relative !important;
  z-index:5 !important;
}
body #optionDialog .option-modal-footer .option-order-total {
  box-sizing:border-box !important;
  display:grid !important;
  grid-column:1 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:auto !important;
  gap:2px !important;
  margin:0 !important;
}
body #optionDialog .option-modal-footer .option-order-total > span { font-size:10px !important; line-height:1.25 !important; }
body #optionDialog .option-modal-footer .option-order-total strong { font-size:19px !important; line-height:1.2 !important; white-space:nowrap !important; }
body #optionDialog .option-modal-footer .qty-controls {
  box-sizing:border-box !important;
  display:flex !important;
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:108px !important;
  max-width:108px !important;
  height:42px !important;
  margin:0 !important;
  justify-self:end !important;
  flex-basis:auto !important;
}
body #optionDialog .option-modal-footer #optionAddBtn {
  box-sizing:border-box !important;
  display:flex !important;
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:43px !important;
  height:43px !important;
  padding:10px 14px !important;
  margin:0 !important;
  justify-content:center !important;
  border-radius:10px !important;
  flex-basis:auto !important;
  background:var(--v22-gold) !important;
  color:#fff !important;
  font:800 13px/1.2 'Segoe UI',Arial,sans-serif !important;
  white-space:nowrap !important;
}
body #optionDialog .option-modal-footer #optionAddBtn:hover { background:#765011 !important; }
@media(max-width:600px) {
  body #optionDialog {
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
  }
  body #optionDialog .v19-modal-scroll { padding:17px 13px 20px !important; scrollbar-gutter:auto; }
  body #optionDialog .v22-product-summary { grid-template-columns:82px minmax(0,1fr) !important; gap:10px !important; }
  body #optionDialog .option-hero-image {
    width:82px !important;
    height:90px !important;
    min-height:90px !important;
    max-height:90px !important;
  }
  body #optionDialog .option-hero-image img { max-height:77px !important; }
  body #optionDialog .option-modal-header h2 { font-size:19px !important; }
  body #optionDialog .option-choice-grid,
  body #optionDialog .option-choice-grid:has(label:nth-child(3)) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body #optionDialog .v17-rec-item { grid-template-columns:18px 44px minmax(0,1fr) !important; gap:8px !important; padding:8px 9px !important; }
  body #optionDialog .v17-rec-photo { width:44px !important; min-width:44px !important; height:50px !important; }
  body #optionDialog .option-modal-footer { padding:9px 13px max(12px,env(safe-area-inset-bottom)) !important; }
}
@media(max-width:350px) {
  body #optionDialog .option-modal-header h2 {font-size:18px !important;}
  body #optionDialog .option-choice-grid,
  body #optionDialog .option-choice-grid:has(label:nth-child(3)) {grid-template-columns:minmax(0,1fr) !important;}
}

/* V24 verified-order product reviews. Keep the narrow V22 product chooser unchanged. */
body .v24-product-rating{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;margin:6px 0 8px;font:500 11px/1.4 'Segoe UI',Arial,sans-serif;color:#5c5b57;min-width:0}
body .v24-product-rating>b{color:#26764d;font-weight:750;white-space:nowrap}
body .v24-product-rating>span:first-child{font-size:12px}
body .v24-product-rating>span:last-child{color:#85827c;font-size:10px}
body .v24-community{margin:34px auto 15px;padding:24px 0 15px;border-top:1px solid #e8e2d7;max-width:1060px;min-width:0}
body .v24-community-heading small{font:800 10px/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:1.6px;color:#9a6e27}
body .v24-community-heading h2{font:700 clamp(25px,3vw,32px)/1.2 Georgia,serif;color:#252525;margin:6px 0}
body .v24-community-heading p{font:400 13px/1.6 'Segoe UI',Arial,sans-serif;color:#737373;max-width:680px;margin:0 0 15px}
body .v24-reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body .v24-review-card{min-width:0;border:1px solid #e9e4db;border-radius:13px;padding:17px;background:#fff;box-shadow:0 2px 13px #30303006}
body .v24-review-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
body .v24-review-card-top strong{font:700 13px 'Segoe UI',Arial,sans-serif;color:#262626}
body .v24-review-card-top small{font:400 11px 'Segoe UI',Arial,sans-serif;color:#888}
body .v24-review-rating{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:11px 0 7px}
body .v24-review-rating b{font:650 13px 'Segoe UI',Arial,sans-serif;color:#4c463d}
body .v24-stars{color:#b18334;letter-spacing:1px;font-size:16px;white-space:nowrap}
body .v24-review-card p{font:400 13px/1.65 'Segoe UI',Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#444;margin:5px 0}
body .v24-test-marker{display:block;margin-top:6px;color:#836638;font-size:10px}
body .v24-reviews-empty{border:1px dashed #ded4c6;border-radius:12px;color:#7e7569;padding:20px;background:#fbfaf8;grid-column:1/-1;font-size:13px}
body .v24-more-reviews{display:block;margin:16px auto 0;border:1px solid #c9aa75;border-radius:10px;color:#765216;background:#fff;font:700 13px 'Segoe UI',Arial,sans-serif;padding:10px 20px}
body .v24-order-review-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:5px 0}
body .v24-order-review-item>b{font-weight:550;font-size:13px}
body .v24-review-action{border:1px solid #d6b883;border-radius:9px;background:#fffaf1;color:#835c20;font:700 11px 'Segoe UI',Arial,sans-serif;padding:7px 10px;cursor:pointer;white-space:normal}
body .v24-review-action:hover{background:#f6e8cb}
body .v24-review-state{font-size:10px;color:#777}
body #reviewDialog{width:min(480px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 28px);border-radius:18px;border:0;padding:0;background:white;overflow:auto;box-shadow:0 18px 65px #0004}
body #reviewDialog::backdrop{background:#151515aa}
body #reviewDialog .v24-review-form{padding:25px 26px 27px;display:grid;gap:14px;box-sizing:border-box}
body .v24-review-head{display:flex;align-items:start;gap:12px;justify-content:space-between}
body .v24-review-head small{color:#a17a39;font-weight:750;letter-spacing:1.2px;font-size:10px}
body .v24-review-head h2{margin:5px 0;font:700 26px Georgia,serif;color:#292929}
body .v24-review-head p{margin:4px 0;color:#666;font-size:13px}
body .v24-review-head .close-button{flex:0 0 34px;position:static;border:1px solid #eee;border-radius:50%;height:34px;width:34px}
body .v24-rating-choices{border:0;padding:0;margin:0;min-width:0}
body .v24-rating-choices legend{font-weight:800;color:#282828;font-size:14px;margin-bottom:9px}
body .v24-rating-choices legend span,body .v24-comment-label span{color:#858585;font-size:11px;font-weight:400}
body .v24-stars-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
body .v24-stars-choices label{cursor:pointer;min-width:0}
body .v24-stars-choices input{position:absolute;opacity:0}
body .v24-stars-choices label>span{display:grid;place-items:center;border-radius:10px;border:1px solid #ded7ca;background:#fff;padding:7px 2px;color:#9d9b98;font-size:25px}
body .v24-stars-choices label small{font:600 10px 'Segoe UI',Arial,sans-serif}
body .v24-stars-choices label:has(input:checked)>span{border-color:#b48631;background:#fff5df;color:#a46b16}
body .v24-stars-choices label:focus-within>span{outline:2px solid #b48631;outline-offset:2px}
body .v24-comment-label{font-weight:750;font-size:14px;color:#292929}
body #reviewComment{width:100%;box-sizing:border-box;min-height:110px;resize:vertical;border:1px solid #ddd7cc;border-radius:10px;padding:12px 13px;font:400 13px/1.5 'Segoe UI',Arial,sans-serif}
body .v24-review-hint{color:#777;font:400 11px/1.5 'Segoe UI',Arial,sans-serif;margin:0}
body .v24-submit-review{background:#936719;color:white;border:0;border-radius:10px;min-height:47px;font:750 14px 'Segoe UI',Arial,sans-serif;cursor:pointer}
body .v24-submit-review:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){body .v24-reviews-list{grid-template-columns:1fr}body .v24-community{margin:22px 0;padding:18px 0}body .v24-review-card{padding:14px}body #reviewDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}body #reviewDialog .v24-review-form{padding:21px 16px}}
