/* Scoped Coffee checkout/account system, matching the existing retail rhythm. */
#siteCoffee .jcc-page{padding-top:48px;padding-bottom:80px;min-height:65vh}
#siteCoffee .jcc-heading{margin-bottom:28px;max-width:760px}
#siteCoffee .jcc-heading h1{font-size:clamp(2.5rem,4.6vw,4.8rem);color:var(--cherry);margin:0 0 18px}
#siteCoffee .jcc-heading p{line-height:1.7;max-width:60ch}
#siteCoffee .jcc-heading .jc-eyebrow{margin-bottom:12px}
#siteCoffee .jcc-notice{background:#eee5d8;border-left:3px solid var(--cherry);padding:14px 18px;font-size:.8rem;line-height:1.6;margin:20px 0 28px}
#siteCoffee .jcc-steps{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:32px;overflow:auto}
#siteCoffee .jcc-steps span{padding:0 0 14px;font-size:.85rem;color:var(--sub);white-space:nowrap}
#siteCoffee .jcc-steps [aria-current]{border-bottom:3px solid var(--cherry);color:var(--cherry);font-weight:700}
#siteCoffee .jcc-checkout-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(24px,5vw,70px);align-items:start}
#siteCoffee .jcc-panel{min-width:0;background:var(--cream);padding:30px;border:1px solid var(--line)}
#siteCoffee .jcc-panel h2,#siteCoffee .jcc-summary h2{font-size:1.3rem;line-height:1.35;margin-bottom:20px}
#siteCoffee .jcc-panel h3{font-size:1rem;line-height:1.4;margin-bottom:10px}
#siteCoffee .jcc-panel p{line-height:1.7;margin-bottom:22px}
#siteCoffee .jcc-panel form>h2:not(:first-child){margin-top:32px}
#siteCoffee .jcc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
#siteCoffee .jcc-field{display:grid;gap:8px;font-size:.8rem;font-weight:600;min-width:0;margin-bottom:18px}
#siteCoffee .jcc-form-grid .jcc-field{margin-bottom:0}
#siteCoffee .jcc-field input,#siteCoffee .jcc-field select{width:100%;min-width:0;min-height:48px;border:1px solid #aea497;background:#fffdf7;color:var(--ink);border-radius:2px;padding:11px 12px;font:400 16px/1.4 var(--font-ui,Montserrat,sans-serif)}
#siteCoffee .jcc-field input:focus,#siteCoffee .jcc-field select:focus{outline:2px solid var(--cherry);outline-offset:2px}
#siteCoffee .jcc-field input:disabled{background:#eee9e1;color:#75695c;cursor:not-allowed}
#siteCoffee .jcc-signin-hint{padding:18px;background:var(--paper);font-size:.875rem;margin-bottom:26px}
#siteCoffee .jcc-signin-hint a{display:inline;text-decoration:underline}
#siteCoffee .jcc-section-title{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:22px 0}
#siteCoffee .jcc-section-title h2{margin:0}
#siteCoffee .jcc-section-title .jc-button{font-size:.75rem;padding:10px 14px}
#siteCoffee .jcc-choice{display:flex;align-items:flex-start;gap:12px;padding:20px;border:1px solid var(--line);margin:14px 0;cursor:pointer}
#siteCoffee .jcc-choice:has(input:checked){border:2px solid var(--cherry);padding:19px;background:#f6efe4}
#siteCoffee .jcc-choice input,#siteCoffee .jcc-check input{accent-color:var(--cherry);width:18px;height:18px;flex-shrink:0;margin-top:2px}
#siteCoffee .jcc-choice span{display:grid;gap:8px;font-size:.875rem}
#siteCoffee .jcc-choice small{font-size:.75rem;line-height:1.6;color:var(--sub)}
#siteCoffee .jcc-check{display:flex;align-items:flex-start;gap:10px;padding:20px 0;font-size:.875rem;line-height:1.5;cursor:pointer}
#siteCoffee .jcc-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
#siteCoffee .jcc-summary{position:sticky;top:150px;min-width:0;padding:28px;background:#eee5d8}
#siteCoffee .jcc-lines{list-style:none;padding:0;margin:0}
#siteCoffee .jcc-lines li{display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid #d1c3b1;padding:20px 0;min-width:0}
#siteCoffee .jcc-lines img{width:62px!important;height:74px!important;object-fit:cover;flex:none}
#siteCoffee .jcc-lines li>div{flex:1;min-width:0}
#siteCoffee .jcc-lines strong{font-size:.85rem;display:block;overflow-wrap:anywhere}
#siteCoffee .jcc-lines small{display:block;color:var(--sub);font-size:.72rem;line-height:1.6;margin-top:8px}
#siteCoffee .jcc-lines li>span{font-size:.8rem;white-space:nowrap}
#siteCoffee .jcc-totals{padding:20px 0}
#siteCoffee .jcc-totals div{display:flex;gap:20px;justify-content:space-between;margin:12px 0;font-size:.875rem}
#siteCoffee .jcc-totals div:last-child{font-weight:700;font-size:1.1rem;border-top:1px solid #d1c3b1;padding-top:18px}
#siteCoffee .jcc-card-preview{background:var(--cherry);color:var(--cream);max-width:340px;border-radius:12px;padding:25px;margin:26px 0;display:grid;gap:25px;letter-spacing:.06em}
#siteCoffee .jcc-card-preview>span{font-size:.7rem;text-transform:uppercase}
#siteCoffee .jcc-card-preview>b{font-size:1.1rem}
#siteCoffee .jcc-card-preview>div{display:flex;justify-content:space-between;font-size:.65rem;gap:12px}
#siteCoffee .jcc-review-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding:22px 0}
#siteCoffee .jcc-review-card p{font-size:.875rem;overflow-wrap:anywhere;margin-bottom:6px}
#siteCoffee .jcc-review-card small{font-size:.75rem;color:var(--sub)}
#siteCoffee .jcc-auth{display:grid;grid-template-columns:1fr 1fr;max-width:1050px;margin:auto}
#siteCoffee .jcc-auth-story{background:var(--cherry);color:var(--cream);padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
#siteCoffee .jcc-auth-story h2{font-size:clamp(2.8rem,4vw,4.5rem);margin-bottom:30px}
#siteCoffee .jcc-auth-story p{line-height:1.8;max-width:32ch}
#siteCoffee .jcc-auth-story img{filter:brightness(0) invert(.92);margin-top:35px;width:90px}
#siteCoffee .jcc-auth .jcc-panel{padding:36px}
#siteCoffee .jcc-auth h1{font-size:2.7rem}
#siteCoffee .jcc-auth-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px;font-size:.8rem}
#siteCoffee .jcc-account-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px}
#siteCoffee .jcc-account-nav{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:150px}
#siteCoffee .jcc-account-nav>a{padding:16px 18px;border-bottom:1px solid var(--line);font-size:.875rem}
#siteCoffee .jcc-account-nav>[aria-current]{background:var(--cherry);color:var(--cream)}
#siteCoffee .jcc-account-nav .jc-button{margin-top:18px}
#siteCoffee .jcc-account-cards,#siteCoffee .jcc-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
#siteCoffee .jcc-account-cards article,#siteCoffee .jcc-address{background:var(--paper);border:1px solid var(--line);padding:24px;min-width:0;overflow-wrap:anywhere}
#siteCoffee .jcc-big-number{font:400 3rem var(--font-display);display:block;margin:12px 0 24px}
#siteCoffee .jcc-account-cards a{font-size:.8rem}
#siteCoffee .jcc-order-list article{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}
#siteCoffee .jcc-order-list article>div{min-width:0}
#siteCoffee .jcc-order-list small{font-size:.65rem;letter-spacing:.05em}
#siteCoffee .jcc-order-list h3{font-size:.95rem;margin:10px 0;overflow-wrap:anywhere}
#siteCoffee .jcc-order-list p{font-size:.75rem;margin:0}
#siteCoffee .jcc-order-list article>div:last-child{display:grid;gap:18px;text-align:right;white-space:nowrap;font-size:.8rem}
#siteCoffee .jcc-empty{padding:32px 0}
#siteCoffee .jcc-filter{max-width:240px;margin-top:25px}
#siteCoffee .jcc-security{margin-top:36px;border-top:1px solid var(--line);padding-top:25px}
#siteCoffee .jcc-success{padding:16px;background:#e6eddd;color:#334c32;font-size:.875rem}
#siteCoffee .jcc-status{padding:8px 14px;background:#e6eddd;color:#334c32;font-size:.75rem}
#siteCoffee .jcc-timeline{list-style:none;margin:30px 0;padding:0 0 0 10px}
#siteCoffee .jcc-timeline li{border-left:2px solid #d9cec0;padding:0 0 28px 25px;position:relative;color:#6b6252}
#siteCoffee .jcc-timeline li:before{content:'';width:12px;height:12px;border-radius:50%;position:absolute;left:-7px;top:2px;background:#d9cec0}
#siteCoffee .jcc-timeline li.current{color:var(--cherry)}
#siteCoffee .jcc-timeline li.current:before{background:var(--cherry)}
#siteCoffee .jcc-timeline small{display:block;margin-top:8px;font-size:.75rem}
#siteCoffee .jcc-page a:focus-visible,#siteCoffee .jcc-page button:focus-visible{outline:2px solid var(--cherry);outline-offset:4px}
@media(max-width:1000px){#siteCoffee .jcc-checkout-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px}#siteCoffee .jcc-summary{padding:22px}#siteCoffee .jcc-account-grid{grid-template-columns:180px minmax(0,1fr);gap:22px}}
@media(max-width:760px){#siteCoffee .jcc-page{padding-top:30px;padding-bottom:48px}#siteCoffee .jcc-checkout-grid,#siteCoffee .jcc-auth,#siteCoffee .jcc-account-grid{grid-template-columns:1fr}#siteCoffee .jcc-panel,#siteCoffee .jcc-auth .jcc-panel{padding:22px 18px}#siteCoffee .jcc-summary{position:static}#siteCoffee .jcc-auth-story{display:none}#siteCoffee .jcc-account-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#siteCoffee .jcc-account-nav>a{padding:14px 10px;font-size:.8rem}#siteCoffee .jcc-account-nav .jc-button{margin:0}#siteCoffee .jcc-account-cards,#siteCoffee .jcc-address-grid{gap:12px}#siteCoffee .jcc-account-cards article,#siteCoffee .jcc-address{padding:18px}#siteCoffee .jcc-steps{gap:22px}#siteCoffee .jcc-actions>.jc-button{width:100%}#siteCoffee .jcc-heading h1{font-size:2.7rem}#siteCoffee .jcc-lines li{flex-wrap:wrap}#siteCoffee .jcc-lines li>span{margin-left:auto}#siteCoffee .jcc-heading{margin-bottom:20px}}
@media(max-width:420px){#siteCoffee .jcc-form-grid,#siteCoffee .jcc-address-grid{grid-template-columns:1fr}#siteCoffee .jcc-order-list article{flex-direction:column;align-items:flex-start;gap:14px}#siteCoffee .jcc-order-list article>div:last-child{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%;text-align:left}#siteCoffee .jcc-panel{padding:20px 14px}#siteCoffee .jcc-card-preview{padding:20px 14px}#siteCoffee .jcc-card-preview>b{font-size:1rem}#siteCoffee .jcc-review-card{gap:10px}#siteCoffee .jcc-notice{padding:12px;font-size:.75rem}#siteCoffee .jcc-steps{gap:16px;font-size:.75rem}#siteCoffee .jcc-steps span{font-size:.75rem}}
/* Observed 320px audit corrections: preserve primary touch targets and readable dashboard cards. */
@media(max-width:900px){#siteCoffee .jc-header-actions>.ar-toggle{display:none}}
@media(max-width:420px){#siteCoffee .jcc-account-cards{grid-template-columns:1fr}}
#siteCoffee .jcc-page input,#siteCoffee .jcc-page select{scroll-margin-top:170px}

/* Error status tone is an inferred accessible UI use of the official primary ink, not an additional brand palette. */
.joud-field-error{display:block;color:#580929;background:#FFF9DF;font:500 .875rem/1.5 var(--font-ui,Montserrat,sans-serif);margin-top:4px;padding:3px 0}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{outline:2px solid #580929;outline-offset:2px}

/* v129: preserve both native views of the approved single-origin bag pairs. */
#siteCoffee .jcc-lines img[src*="assets/retail/quiet-horizontal/"]{object-fit:contain}

/* v130: complete single-bag and special-box artwork stays visible in checkout. */
#siteCoffee .jcc-lines img[src*="assets/retail/product-v130/"]{object-fit:contain}
