.detail-price .detail-stock { margin: 14px 0 8px; font-size: 12px; line-height: 1.6; color: #657257; }
.complementary-note { margin: 13px 0 0; font-size: 12px; line-height: 1.8; color: #879178; }
.complementary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 23px; }
.complementary-card { border: 1px solid var(--line); border-radius: 5px; overflow: hidden; background: white; }
.complementary-card:hover { border-color: #d4b4ad; }
.complementary-card:hover .complementary-info { color: var(--red); }
.complementary-visual { height: 180px; display: grid; place-items: center; background: #f4f5ee; }
.complementary-visual svg { width: 100%; height: 180px; }
.complementary-visual img { width: 100%; height: 180px; object-fit: contain; }
.complementary-info { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 17px 18px 0; font-size: 14px; font-weight: 600; line-height: 1.5; color: #455438; }
.complementary-info span:last-child { font-size: 21px; font-weight: 400; }
.complementary-card > p { padding: 0 18px 17px; margin: 9px 0 0; color: #879278; font-size: 11px; }
.order-page { padding-block: 25px 65px; }
.order-heading { margin-bottom: 32px; }
.order-heading h1 { font-size: 43px; margin: 13px 0 17px; }
.order-heading > p:last-child { max-width: 620px; margin: 0; font-size: 14px; line-height: 1.8; color: #77816b; }
.order-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 44px; align-items: start; }
.order-summary { border: 1px solid #e0e5d6; border-radius: 7px; overflow: hidden; background: #fafaf6; }
.order-product-visual { height: 235px; position: relative; display: grid; place-items: center; background: #f1f3e9; }
.order-product-visual > svg, .order-product-visual > img { width: 100%; height: 220px; object-fit: contain; }
.order-product-visual > span { position: absolute; left: 15px; top: 15px; font-size: 9px; padding: 5px 7px; border-radius: 2px; color: #879078; background: #ffffffe0; }
.order-summary-content { padding: 25px; }
.order-summary h2 { font-size: 25px; line-height: 1.3; margin: 10px 0 15px; }
.order-stock { font-size: 12px; color: #7e896f; line-height: 1.7; }
.order-summary dl { margin: 24px 0; font-size: 12px; }
.order-summary dl > div { display: flex; justify-content: space-between; gap: 20px; padding-block: 11px; }
.order-summary dt { color: #7e896f; }
.order-summary dd { text-align: right; margin: 0; color: #3c4a30; }
.order-summary dl > .order-total { padding-top: 17px; margin-top: 10px; border-top: 1px solid #dfe5d5; font-weight: 600; line-height: 1.6; }
.order-total dt { color: #4a5a3c; }
.order-summary-note { font-size: 11px; line-height: 1.7; color: #879178; }
.order-form-card { padding: 31px 32px; border: 1px solid #e1e6d8; background: #fff; border-radius: 7px; }
.order-form-card fieldset { min-width: 0; border: 0; padding: 0; margin: 0 0 27px; }
.order-form-card legend { padding: 0; margin-bottom: 20px; font-size: 17px; font-weight: 600; line-height: 1.5; color: #3e4d32; }
.order-form-card legend > span { color: #929d84; margin-right: 11px; font: 11px monospace; }
.order-product-fields { grid-template-columns: .5fr 1.5fr; }
.order-field-note { font-size: 11px; line-height: 1.75; color: #859277; margin: -5px 0 18px; }
.order-confirmation-note { padding: 17px 19px; background: #f5f6ef; border-left: 2px solid #adb89f; color: #66765a; margin-bottom: 19px; }
.order-confirmation-note strong { font-size: 12px; font-weight: 600; }
.order-confirmation-note p { font-size: 11px; line-height: 1.75; margin: 7px 0 0; }
.order-acknowledgement { display: flex; align-items: flex-start; gap: 11px; font-size: 11px; line-height: 1.8; color: #6a785e; cursor: pointer; }
.order-acknowledgement input { width: 17px; height: 17px; margin: 2px 0 0; flex: 0 0 17px; accent-color: var(--red); }
.order-privacy { font-size: 10px; line-height: 1.7; color: #8d9782; margin: 18px 0; }
.order-submit { min-height: 46px; }
.order-submit:disabled { opacity: .55; cursor: wait; }
.order-form-card .form-status { padding: 14px 17px; margin: 18px 0 0; font-size: 12px; line-height: 1.8; border-radius: 4px; }
.order-success { padding: 20px 0; }
.order-success h2 { margin: 22px 0 15px; font-size: 28px; line-height: 1.3; }
.order-success p { font-size: 13px; line-height: 1.9; color: #79866c; }
.order-success .button { margin-top: 13px; }
.success-mark { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: #4d6b3a; background: #edf3e5; font-size: 25px; }
@media(max-width:1000px) {
  .order-layout { grid-template-columns: .8fr 1.2fr; gap: 24px; }
  .order-summary-content, .order-form-card { padding: 24px 22px; }
}
@media(max-width:700px) {
  .order-page { padding-block: 21px 35px; }
  .order-heading h1 { font-size: 34px; letter-spacing: -1px; }
  .order-heading > p:last-child { font-size: 13px; }
  .order-layout { grid-template-columns: 1fr; gap: 23px; }
  .order-product-visual { height: 180px; }
  .order-product-visual > svg, .order-product-visual > img { height: 180px; }
  .order-summary-content { padding: 21px; }
  .order-summary h2 { font-size: 24px; }
  .order-summary dl { margin: 15px 0; }
  .order-form-card { padding: 24px 20px; }
  .order-form-card .form-field input, .order-form-card .form-field select, .order-form-card .form-field textarea { font-size: 16px; }
  .order-form-card .form-row { grid-template-columns: 1fr; gap: 0; }
  .order-form-card legend { font-size: 16px; }
  .order-acknowledgement { font-size: 12px; }
  .order-submit { width: 100%; gap: 12px; font-size: 11px; }
  .complementary-grid { grid-template-columns: 1fr; gap: 12px; }
  .complementary-card { display: grid; grid-template-columns: 110px 1fr; column-gap: 5px; }
  .complementary-visual { grid-row: 1 / 3; height: 108px; }
  .complementary-visual > svg, .complementary-visual > img { height: 108px; }
  .complementary-info { padding: 17px 15px 0; font-size: 13px; }
  .complementary-card > p { padding: 0 15px 17px; }
}

/* Availability is shown without exposing quantities. */
.product-stock-status.stock-available { color: #18733b; font-weight: 600; }
.product-stock-status.stock-unavailable { color: #a52d28; }
.product-stock-status.stock-pending { color: #6d6b62; }

/* Checkout: two native radio choices with conditional delivery details. */
.fulfillment-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.fulfillment-option { position:relative; display:block; min-width:0; cursor:pointer; margin:0; }
.fulfillment-option > input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fulfillment-option-card { position:relative; display:flex; flex-direction:column; height:100%; box-sizing:border-box; min-height:194px; gap:10px; border:1px solid #d9ddd3; border-radius:12px; padding:18px; background:#fff; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.fulfillment-icon { display:flex; align-items:center; width:42px; height:34px; color:var(--ink,#343b31); }
.fulfillment-icon svg { width:100%; height:100%; }
.fulfillment-check { position:absolute; right:15px; top:18px; width:20px; height:20px; display:grid; place-items:center; border:1px solid #b9c1b2; border-radius:50%; color:transparent; background:white; }
.fulfillment-check svg { width:14px; height:14px; }
.fulfillment-option-card > strong { padding-right:7px; font-size:15px; line-height:1.4; color:var(--ink,#343b31); }
.fulfillment-option-description { font-size:12px; line-height:1.65; color:#59634f; }
.fulfillment-option-tag { align-self:flex-start; margin-top:auto; padding:4px 8px; border-radius:5px; background:#f0f2ec; color:#516146; font-size:10px; font-weight:600; line-height:1.5; }
.fulfillment-option:hover .fulfillment-option-card { border-color:var(--red,#c71920); }
.fulfillment-option > input:checked + .fulfillment-option-card { border-color:var(--red,#c71920); box-shadow:0 0 0 1px var(--red,#c71920); background:var(--canvas,#faf9f5); }
.fulfillment-option > input:checked + .fulfillment-option-card .fulfillment-check { background:var(--red,#c71920); border-color:var(--red,#c71920); color:white; }
.fulfillment-option > input:focus-visible + .fulfillment-option-card { outline:3px solid var(--red,#c71920); outline-offset:4px; }
.fulfillment-panel { padding:18px; margin-bottom:18px; border:1px solid #e0e3da; border-radius:10px; background:#f8f9f5; animation:fulfillment-reveal .2s ease; }
.fulfillment-panel[hidden] { display:none; }
.fulfillment-pickup,.fulfillment-delivery-heading { display:flex; align-items:flex-start; gap:12px; }
.fulfillment-panel-icon { display:flex; flex:0 0 30px; color:#627451; }
.fulfillment-panel-icon svg { width:30px; height:30px; }
.fulfillment-panel h3 { margin:0 0 6px; font-size:14px; line-height:1.5; color:var(--ink,#343b31); }
.fulfillment-panel p { margin:0; font-size:12px; line-height:1.7; color:#5b6652; }
.fulfillment-panel .fulfillment-help { margin-top:8px; }
.fulfillment-panel .fulfillment-cost-note { padding:12px 0 17px; margin:0; }
.fulfillment-delivery .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fulfillment-delivery .form-field { min-width:0; }
.fulfillment-delivery .delivery-preferences { margin:0; padding:0; border:0; background:transparent; }
.fulfillment-delivery .delivery-preferences .order-field-note { margin-top:4px; color:#5b6652; }
.fulfillment-notes { margin-top:18px; }
@keyframes fulfillment-reveal { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@media(max-width:1000px) and (min-width:701px), (max-width:420px) {
 .fulfillment-options { grid-template-columns:1fr; }
 .fulfillment-option-card { min-height:0; padding:16px 45px 16px 62px; gap:6px; }
 .fulfillment-icon { position:absolute; left:15px; top:17px; width:32px; height:32px; }
 .fulfillment-option-tag { margin-top:3px; }
 .fulfillment-check { top:19px; right:14px; }
}
@media(max-width:600px) {
 .fulfillment-panel { padding:15px; }
 .fulfillment-delivery .form-row { grid-template-columns:1fr; gap:0; }
}
@media(prefers-reduced-motion:reduce) { .fulfillment-panel { animation:none; } .fulfillment-option-card { transition:none; } }
