/* Central storefront reuses modern_green typography and appearance tokens. */
.cg-product-offers { list-style:none; padding:0; display:grid; gap:12px; margin-block-start:20px; }
.cg-product-offers li { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:16px; border:1px solid var(--shop-line); border-radius:12px; }
.cg-product-offers li>div { display:grid; gap:6px; flex:1; min-inline-size:180px; }
.cg-related-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; }
.cg-related-products a { display:flex; flex-direction:column; align-items:center; gap:12px; padding:16px; text-align:center; border:1px solid var(--shop-line); border-radius:12px; line-height:1.9; }
.cg-related-products img { object-fit:contain; background:#fff; border-radius:8px; }
.cg-related-products a:hover { border-color:var(--shop-primary); }
.cg-page .cg-search { position:relative; padding-inline:12px 4px; gap:4px; }
.cg-search-action { display:grid; place-items:center; inline-size:44px; block-size:44px; flex-shrink:0; border:0; border-radius:8px; background:transparent; color:var(--shop-text); font-size:20px !important; }
.cg-search-action:hover { background:var(--shop-primary-faint); }
.cg-search-popup { position:absolute; z-index:20; inset-inline:0; inset-block-start:calc(100% + 8px); display:flex; flex-direction:column; max-block-size:min(480px,60dvh); overflow:hidden; background:var(--shop-surface); color:var(--shop-text); border:1px solid var(--shop-line-strong); border-radius:14px; box-shadow:0 12px 30px rgb(0 0 0 / .13); }
#cg-search-list { min-block-size:0; overflow:auto; overscroll-behavior:contain; }
#cg-search-status,#cg-search-all { flex-shrink:0; }
#cg-search::-webkit-search-cancel-button { -webkit-appearance:none; }
.cg-page .cg-search-option { display:flex; align-items:center; gap:12px; padding:12px; min-block-size:76px; border-block-end:1px solid var(--shop-line); }
.cg-search-option:hover,.cg-search-option[aria-selected=true] { background:var(--shop-primary-faint); }
.cg-search-option>img,.cg-search-option>i { inline-size:52px; block-size:52px; flex-shrink:0; border-radius:9px; object-fit:contain; background:#fff; }
.cg-search-option>i { display:grid; place-items:center; color:#56616d; font-size:26px; }
.cg-search-option>span { display:grid; gap:5px; min-inline-size:0; overflow-wrap:anywhere; }
.cg-search-option strong { font-size:14px; line-height:1.8; }
.cg-search-option small { font-size:12px; color:var(--shop-muted); }
#cg-search-status { padding:12px; font-size:12px; color:var(--shop-muted); }
#cg-search-all { display:block; min-block-size:46px; padding:10px 14px; inline-size:100%; border:0; color:var(--cg-link,var(--shop-primary-strong)); background:var(--shop-primary-faint); font:inherit; font-size:13px; font-weight:700; }
#cg-search-all:hover { text-decoration:underline; }
#cg-products-title { scroll-margin-block-start:24px; }
.cg-review-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px; gap:16px; padding:22px; margin-block:22px 28px; border:1px solid var(--shop-line); border-radius:16px; background:var(--shop-surface-2); }
.cg-review-form h3,.cg-review-wide { grid-column:1/-1; }
.cg-review-form h3 { font-size:18px; }
.cg-review-form label { display:flex; flex-direction:column; gap:7px; min-inline-size:0; font-size:14px; }
.cg-review-form :is(input,select,textarea) { inline-size:100%; min-inline-size:0; padding:10px 12px; border:1px solid var(--shop-line-strong); border-radius:9px; background:var(--shop-surface); color:var(--shop-text); font:inherit; }
.cg-review-form textarea { resize:vertical; min-block-size:120px; }
.cg-review-form :is(input,select,textarea):focus-visible { outline:3px solid var(--shop-primary); outline-offset:3px; }
.cg-review-submit { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.cg-review-submit p { font-size:14px; }
.cg-review-submit .is-error { color:var(--cg-notice-text); background:var(--cg-notice-bg); padding:8px 12px; border-radius:8px; }
.cg-review-submit .is-success { color:var(--cg-link,var(--shop-primary-strong)); }
@media(max-width:600px) { .cg-review-form { grid-template-columns:minmax(0,1fr); padding:16px; }.cg-review-submit .cg-button { inline-size:100%; } }
.cg-product-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-block-end:22px; color:var(--shop-muted); font-size:13px; }
.cg-product-breadcrumb a:hover,.cg-product-info h3 a:hover { text-decoration:underline; }
.cg-product-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:42px; align-items:start; margin-block-end:32px; }
.cg-product-gallery { text-align:center; min-inline-size:0; }
.cg-product-zoom { position:relative; display:block; inline-size:100%; padding:24px; border:1px solid var(--shop-line); border-radius:22px; background:#fff; color:#43515c; }
.cg-product-zoom>img { display:block; inline-size:100%; block-size:auto; aspect-ratio:1; object-fit:contain; }
.cg-product-zoom>span { display:flex; align-items:center; justify-content:center; gap:7px; font-size:12px; }
.cg-product-zoom:hover { border-color:var(--shop-primary); }
.cg-product-thumbs { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-block:12px; }
.cg-product-thumbs button { padding:5px; border:2px solid var(--shop-line); border-radius:12px; background:#fff; }
.cg-product-thumbs button[aria-pressed=true] { border-color:var(--shop-primary); }
.cg-product-thumbs img { object-fit:contain; display:block; }
.cg-product-no-image { min-block-size:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px solid var(--shop-line); border-radius:22px; color:var(--shop-muted); background:var(--shop-surface); }
.cg-product-no-image i { font-size:60px; }
.cg-product-summary { min-inline-size:0; padding-block:12px; }
.cg-product-summary h1 { font-size:clamp(24px,2.7vw,34px); margin-block:8px 16px; }
.cg-product-meta { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--shop-muted); }
.cg-product-meta>span { border:1px solid var(--shop-line); background:var(--shop-surface); border-radius:8px; padding:4px 9px; }
.cg-product-rating-link { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-block:18px; font-size:13px; }
.cg-product-rating-link>.ri-star-fill,.cg-review-stars { color:var(--cg-star,#986300); }
.cg-product-buy { background:var(--shop-surface); border:1px solid var(--shop-line); border-radius:18px; padding:24px; margin-block:4px 18px; }
.cg-product-detail-price { font-size:27px; display:block; }
.cg-product-buy .cg-button { margin-block:16px 12px; }
.cg-product-sections { display:flex; flex-wrap:wrap; gap:12px; border-block-end:1px solid var(--shop-line); margin-block:25px; }
.cg-product-sections a { padding:12px 16px; min-block-size:48px; font-weight:700; }
.cg-product-sections a:hover { background:var(--shop-primary-faint); }
.cg-product-sections span { padding:2px 8px; border-radius:6px; background:var(--shop-surface-2); }
.cg-product-panel { border:1px solid var(--shop-line); border-radius:20px; background:var(--shop-surface); padding:30px; margin-block:24px; scroll-margin-block-start:24px; }
.cg-product-description { line-height:2.2; overflow-wrap:anywhere; }
.cg-product-description p { margin-block:0 12px; }
.cg-product-description a { text-decoration:underline; color:var(--cg-link,var(--shop-primary-strong)); }
.cg-product-reviews-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:30px; align-items:start; margin-block-start:28px; }
.cg-rating-summary { background:var(--shop-surface-2); border-radius:14px; padding:20px; text-align:center; }
.cg-rating-summary>div:first-child { display:flex; align-items:baseline; justify-content:center; gap:8px; }
.cg-rating-summary strong { font-size:46px; line-height:1.5; }
.cg-rating-summary>p { font-size:12px; margin-block-end:16px; color:var(--shop-muted); }
.cg-rating-row { display:grid; grid-template-columns:30px 1fr 24px; align-items:center; gap:8px; font-size:12px; margin-block:7px; }
.cg-rating-row meter { inline-size:100%; block-size:14px; accent-color:var(--shop-primary); }
.cg-rating-row meter::-webkit-meter-optimum-value { background:var(--shop-primary); }
.cg-product-review { padding-block:0 24px; margin-block-end:24px; border-block-end:1px solid var(--shop-line); }
.cg-review-head { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.cg-review-head time { color:var(--shop-muted); font-size:12px; }
.cg-review-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-block:8px 12px; }
.cg-review-stars { display:inline-flex; direction:ltr; }
.cg-review-shop { display:inline-flex; align-items:center; gap:7px; padding:4px 10px; border-radius:8px; border:1px solid var(--shop-line); color:var(--cg-link,var(--shop-primary-strong)); background:var(--shop-primary-faint); font-size:12px; }
.cg-review-body { white-space:pre-wrap; overflow-wrap:anywhere; line-height:2; }
.cg-review-pagination { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; font-size:13px; }
.cg-product-lightbox { max-inline-size:850px !important; }
.cg-product-lightbox>img { display:block; inline-size:100%; block-size:auto; max-block-size:75dvh; object-fit:contain; background:#fff; border-radius:12px; }
html[data-shop-mode-resolved=dark] .cg-page { --cg-star:#f5c868; }
@media(max-width:800px) { .cg-product-hero { gap:24px; }.cg-product-reviews-layout { grid-template-columns:180px minmax(0,1fr); gap:20px; }.cg-product-panel { padding:22px; } }
@media(max-width:600px) { .cg-product-hero,.cg-product-reviews-layout { grid-template-columns:minmax(0,1fr); }.cg-product-hero { gap:12px; }.cg-product-zoom { padding:18px; }.cg-product-zoom>img { max-inline-size:280px; margin-inline:auto; }.cg-product-panel { padding:18px; border-radius:16px; }.cg-product-buy { padding:18px; }.cg-product-summary h1 { font-size:25px; }.cg-rating-summary { max-inline-size:320px; inline-size:100%; margin-inline:auto; }.cg-product-panel>.cg-section-head { align-items:start; flex-direction:column; }.cg-product-sections { gap:0; font-size:13px; }.cg-product-sections a { padding:10px; }.cg-page[data-central-stage=product] { padding-block-end:85px; }.cg-page[data-central-stage=product] .cg-header>.cg-back { display:none; } }
.cg-page { --cg-notice-bg:#fff7e6; --cg-notice-text:#633c0b; --cg-notice-border:#dbb874; --cg-disabled-bg:#f3f4f6; --cg-disabled-text:#56616d; --cg-success-text:#176b4a; margin:0; color:var(--shop-text); background:var(--shop-bg); font-family:"MLMgramFont",IRANSansX,Tahoma,Arial,sans-serif; font-size:15px; line-height:1.8; }
.cg-page *, .cg-page *::before, .cg-page *::after { box-sizing:border-box; }
.cg-page [hidden] { display:none !important; }
.cg-page :is(button,input,select,textarea,summary,option) { font:inherit; }
.cg-page :is(h1,h2,h3,h4,p,a,button,input,select,textarea,summary,label,small,strong,b,option) { font-family:"MLMgramFont",IRANSansX,Tahoma,Arial,sans-serif; }
.cg-page button, .cg-page a { -webkit-tap-highlight-color:transparent; }
.cg-page button { cursor:pointer; }
.cg-page a { color:inherit; text-decoration:none; }
.cg-page :is(button,a,input,select):focus-visible { outline:3px solid var(--shop-primary); outline-offset:4px; }
.cg-page h1,.cg-page h2,.cg-page h3,.cg-page p { margin:0; }
.cg-page h1 { font-size:clamp(25px,3vw,40px); line-height:1.7; font-weight:800; }
.cg-page h2 { font-size:21px; font-weight:750; }
.cg-sr { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
.cg-skip { position:fixed; inset-block-start:-100px; inset-inline-start:16px; padding:12px; background:var(--shop-surface); z-index:999; }
.cg-skip:focus { inset-block-start:10px; }
.cg-strip { padding:8px max(24px,calc((100% - 1240px)/2)); background:var(--shop-primary-strong); color:var(--shop-on-primary); display:flex; justify-content:space-between; font-size:12px; }
.cg-header { position:relative; z-index:5; display:flex; gap:28px; align-items:center; padding:20px max(24px,calc((100% - 1240px)/2)); background:var(--shop-surface); border-block-end:1px solid var(--shop-line); }
.cg-brand { display:flex; gap:10px; align-items:center; flex-shrink:0; }
.cg-brand-mark { display:grid; place-items:center; inline-size:46px; block-size:46px; background:var(--shop-primary); color:var(--shop-on-primary); border-radius:14px; font:800 29px Arial,sans-serif; }
.cg-brand b { display:block; font:800 22px Arial,sans-serif; }
.cg-brand small { display:block; color:var(--shop-muted); font-size:11px; }
.cg-search { flex:1; min-inline-size:0; display:flex; align-items:center; gap:10px; border:1px solid var(--shop-line); border-radius:12px; background:var(--shop-surface-2); padding-inline:15px; }
.cg-search input { inline-size:100%; min-inline-size:0; background:transparent; border:0; padding:13px 0; color:var(--shop-text); }
.cg-button { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-block-size:46px; border:1px solid transparent; border-radius:11px; padding:10px 17px; color:var(--shop-on-primary) !important; background:var(--shop-primary); font-weight:650; text-align:center; transition:background .15s; }
.cg-button:hover { background:var(--shop-primary-strong); }
.cg-button:active { transform:translateY(1px); }
.cg-button:disabled,.cg-button[aria-disabled=true] { opacity:.58; cursor:not-allowed; }
.cg-outline { background:var(--shop-surface); border-color:var(--shop-line-strong); color:var(--cg-link,var(--shop-primary-strong)) !important; }
.cg-outline:hover { background:var(--shop-primary-faint); }
.cg-icon-button { inline-size:44px; block-size:44px; display:grid; place-items:center; font-size:22px !important; border:1px solid var(--shop-line); border-radius:10px; color:var(--shop-text); background:var(--shop-surface); flex-shrink:0; }
.cg-main { max-inline-size:1288px; padding:28px 24px 48px; margin:auto; }
.cg-steps { display:flex; align-items:center; gap:36px; padding:0; list-style:none; color:var(--shop-muted); margin:0 0 30px; font-size:13px; }
.cg-steps li { display:flex; gap:9px; align-items:center; }
.cg-steps li span { display:grid; place-items:center; border:1px solid var(--shop-line-strong); border-radius:50%; inline-size:29px; block-size:29px; flex-shrink:0; }
.cg-steps [aria-current] { color:var(--cg-link,var(--shop-primary-strong)); font-weight:750; }
.cg-steps [aria-current] span { background:var(--shop-primary); border-color:var(--shop-primary); color:var(--shop-on-primary); }
.cg-hero { display:grid; grid-template-columns:1.45fr 1fr; align-items:center; gap:40px; background:var(--shop-primary-faint); border:1px solid var(--shop-line); border-radius:24px; padding:38px; margin-block-end:42px; }
.cg-eyebrow { color:var(--cg-link,var(--shop-primary-strong)); font-size:12px; font-weight:700; margin-block-end:5px !important; }
.cg-hero h1 { margin-block-end:8px; }
.cg-hero p:not(.cg-eyebrow) { color:var(--shop-muted); }
.cg-hero .cg-button { margin-block-start:23px; }
.cg-hero-note { background:var(--shop-surface); border:1px solid var(--shop-line); border-radius:18px; padding:24px; }
.cg-hero-note>i { display:block; color:var(--shop-primary); font-size:32px; margin-block-end:8px; }
.cg-hero-note strong { display:block; font-size:17px; margin-block-end:7px; }
.cg-hero-note p { font-size:13px; }
.cg-hero-note span { display:block; color:var(--cg-link,var(--shop-primary-strong)); font-size:12px; margin-block-start:17px; padding-block-start:14px; border-block-start:1px solid var(--shop-line); }
.cg-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block-end:20px; }
.cg-section-head>p { color:var(--shop-muted); font-size:13px; }
.cg-filters { display:flex; gap:16px; align-items:end; flex-wrap:wrap; padding:18px; border:1px solid var(--shop-line); border-radius:14px; background:var(--shop-surface); }
.cg-filters label:not(.cg-checkbox) { display:grid; gap:5px; flex:1; min-inline-size:170px; font-size:12px; color:var(--shop-muted); }
.cg-page select { padding:10px 12px; color:var(--shop-text); background:var(--shop-surface); border:1px solid var(--shop-line-strong); border-radius:9px; inline-size:100%; min-block-size:46px; }
.cg-checkbox { display:flex; align-items:center; gap:8px; min-block-size:46px; cursor:pointer; }
.cg-checkbox input { accent-color:var(--shop-primary); inline-size:19px; block-size:19px; }
.cg-muted { color:var(--shop-muted); font-size:13px; }
.cg-catalog-note { margin:16px 0 22px !important; }
.cg-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.cg-product { min-inline-size:0; background:var(--shop-surface); border:1px solid var(--shop-line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.cg-product-image { display:grid; place-items:center; aspect-ratio:1.2; background:#fff; padding:16px; border:0; inline-size:100%; overflow:hidden; }
.cg-product-image img { inline-size:100%; block-size:100%; object-fit:contain; min-block-size:0; }
.cg-product-image>i { color:#879790; font-size:42px; }
.cg-product-info { padding:18px; display:flex; flex-direction:column; flex:1; }
.cg-product-info>small { color:var(--shop-muted); font-size:11px; }
.cg-product h3 { margin:6px 0 16px; flex:1; font-size:14px; line-height:1.9; }
.cg-product h3 button { border:0; padding:0; min-block-size:44px; background:none; color:inherit; text-align:start; font-weight:650; }
.cg-product-price { font-weight:800; font-size:16px; }
.cg-availability { color:var(--shop-muted); font-size:11px; margin:5px 0 14px !important; }
.cg-product .cg-button { inline-size:100%; font-size:13px; }
.cg-load-more { display:flex; margin:25px auto 0; }
.cg-selection-intro { margin-block-end:27px; max-inline-size:850px; }
.cg-selection-intro>p:last-child { color:var(--shop-muted); margin-block-start:10px; }
.cg-selection-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:26px; align-items:start; }
.cg-province-form { display:flex; gap:14px; align-items:end; padding:22px; border:1px solid var(--shop-line); border-radius:16px; background:var(--shop-surface); margin-block-end:28px; }
.cg-province-form label { flex:1; font-weight:650; min-inline-size:0; }
.cg-province-form select { display:block; margin-block-start:10px; font-weight:400; }
.cg-cart-summary { border:1px solid var(--shop-line); border-radius:16px; background:var(--shop-surface); padding:22px; position:sticky; inset-block-start:20px; }
.cg-cart-summary h2 { font-size:17px; }
.cg-summary-toggle { display:none; }
html[data-shop-mode-resolved="dark"] .cg-page { --cg-link:#8be2c0; --cg-notice-bg:#382c19; --cg-notice-text:#ffe3af; --cg-notice-border:#96783f; --cg-disabled-bg:#20282e; --cg-disabled-text:#bcc5ce; --cg-success-text:#9de5bf; }
.cg-cart-line { padding-block:15px; border-block-end:1px solid var(--shop-line); }
.cg-cart-line-head { display:flex; gap:12px; align-items:center; }
.cg-cart-line img { inline-size:46px; block-size:46px; object-fit:contain; border-radius:8px; background:#fff; }
.cg-cart-line h3 { font-size:13px; line-height:1.9; }
.cg-quantity { display:flex; align-items:center; gap:9px; margin-block-start:10px; }
.cg-quantity button { min-inline-size:44px; min-block-size:44px; border:1px solid var(--shop-line); background:var(--shop-surface-2); border-radius:9px; color:var(--shop-text); }
.cg-quantity b { min-inline-size:20px; text-align:center; }
.cg-quantity button:last-child { margin-inline-start:auto; font-size:12px; padding-inline:12px; }
.cg-cart-total { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-block:18px; }
.cg-cart-total strong { font-size:17px; }
.cg-back { display:inline-flex; gap:8px; align-items:center; min-block-size:44px; color:var(--cg-link,var(--shop-primary-strong)) !important; }
.cg-cart-summary>.cg-muted { margin-block-start:12px; }
.cg-empty { padding:42px 25px; border:1px dashed var(--shop-line-strong); border-radius:16px; text-align:center; color:var(--shop-muted); background:var(--shop-surface); }
.cg-empty>i { display:block; font-size:38px; color:var(--shop-primary); margin-block-end:12px; }
.cg-empty h3 { color:var(--shop-text); font-size:18px; margin-block-end:8px; }
.cg-seller { background:var(--shop-surface); border:1px solid var(--shop-line); border-radius:16px; padding:24px; margin-block-end:18px; }
.cg-seller:first-child { border-color:var(--shop-primary); }
.cg-seller-head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cg-seller-head>.cg-seller-title { flex:1; min-inline-size:140px; overflow-wrap:anywhere; }
.cg-seller-icon { display:grid; place-items:center; inline-size:49px; block-size:49px; border-radius:12px; background:var(--shop-primary-soft); color:var(--cg-link,var(--shop-primary-strong)); font-size:24px; flex-shrink:0; }
.cg-seller-icon.has-logo { background:#fff; border:1px solid var(--shop-line); overflow:hidden; }
.cg-seller-icon img { inline-size:100%; block-size:100%; object-fit:contain; padding:3px; }
.cg-seller-badges { display:flex; flex-wrap:wrap; align-items:center; gap:7px; max-inline-size:100%; }
.cg-seller-badges:empty { display:none; }
.cg-seller-badges .cg-badge { margin-inline-start:0; font-size:12px; }
.cg-badge.cg-management-badge { gap:5px; align-items:center; border:1px solid var(--cg-notice-border); background:var(--cg-notice-bg); color:var(--cg-notice-text); }
.cg-management-badge i { font-size:16px; }
.cg-seller h3 { font-size:18px; }
.cg-badge { display:inline-flex; padding:4px 10px; color:var(--cg-link,var(--shop-primary-strong)); background:var(--shop-primary-faint); border-radius:7px; font-size:11px; margin-inline-start:auto; }
.cg-coverage { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:20px 0 9px; font-size:13px; }
.cg-progress { block-size:6px; border-radius:10px; background:var(--shop-surface-3); overflow:hidden; }
.cg-progress span { display:block; block-size:100%; background:var(--shop-primary); border-radius:inherit; }
.cg-notice,.cg-feedback { padding:14px 16px; border:1px solid var(--cg-notice-border); border-inline-start-width:4px; border-radius:10px; background:var(--cg-notice-bg); color:var(--cg-notice-text); margin-block:16px; font-size:13px; line-height:1.9; }
.cg-notice :is(p,strong,h3,li),.cg-feedback :is(p,strong) { color:inherit; }
.cg-missing-list { padding-inline-start:20px; margin:8px 0 0; }
.cg-missing-list li { margin-block:4px; }
.cg-seller details { margin-block:15px; font-size:13px; }
.cg-seller summary { cursor:pointer; min-block-size:44px; display:flex; align-items:center; color:var(--cg-link,var(--shop-primary-strong)); }
.cg-line-review { display:flex; justify-content:space-between; gap:12px; padding-block:9px; border-block-end:1px solid var(--shop-line); font-size:13px; }
.cg-line-review>span { flex:1; }
.cg-line-review>b { flex-shrink:0; }
.cg-offer-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-block:22px 12px; }
.cg-offer-heading h4 { margin:0; color:var(--shop-text); font-size:14px; font-weight:700; }
.cg-offer-heading>span { color:var(--shop-muted); font-size:12px; }
.cg-offer-products { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.cg-offer-product { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px solid var(--shop-line); border-radius:12px; background:var(--shop-surface); }
.cg-offer-thumb { display:grid; place-items:center; inline-size:56px; block-size:56px; border:1px solid var(--shop-line); border-radius:9px; background:#fff; overflow:hidden; }
.cg-offer-thumb img { inline-size:100%; block-size:100%; object-fit:contain; }
.cg-offer-thumb>i { font-size:25px; color:#65736e; }
.cg-offer-copy { display:grid; gap:3px; min-inline-size:0; }
.cg-offer-copy>strong { font-size:13px; font-weight:650; line-height:1.9; overflow-wrap:anywhere; }
.cg-offer-state { display:flex; gap:5px; align-items:center; color:var(--cg-success-text); font-size:12px; font-weight:600; }
.cg-offer-copy>small,.cg-offer-price>small { color:var(--shop-muted); font-size:12px; line-height:1.8; }
.cg-offer-price { display:grid; gap:4px; text-align:end; font-size:12px; }
.cg-offer-price>b { color:var(--shop-text); font-size:13px; }
.cg-offer-product.is-unavailable { background:var(--cg-disabled-bg); border-style:dashed; }
.cg-offer-product.is-unavailable :is(strong,small,span,.cg-offer-price) { color:var(--cg-disabled-text); }
.cg-offer-product.is-unavailable .cg-offer-thumb img { filter:grayscale(1); opacity:.55; }
.cg-offer-product.is-partial .cg-offer-state { color:var(--cg-notice-text); background:var(--cg-notice-bg); border-radius:5px; padding-inline:5px; justify-self:start; }
.cg-more-products summary { justify-content:space-between; gap:10px; padding-inline:12px; border:1px solid var(--shop-line); border-radius:9px; }
.cg-more-products[open] summary { margin-block-end:10px; }
.cg-more-products[open] summary i { transform:rotate(180deg); }
.cg-dialog .cg-offer-product { grid-template-columns:48px minmax(0,1fr); }
.cg-dialog .cg-offer-thumb { inline-size:48px; block-size:48px; }
.cg-dialog .cg-offer-price { grid-column:2; text-align:start; }
.cg-seller-footer { border-block-start:1px solid var(--shop-line); padding-block-start:16px; margin-block-start:14px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.cg-seller-footer small { display:block; color:var(--shop-muted); font-size:11px; }
.cg-seller-footer strong { font-size:19px; }
.cg-dialog { background:var(--shop-surface); color:var(--shop-text); border:1px solid var(--shop-line); border-radius:20px; padding:24px; inline-size:min(550px,calc(100% - 28px)); max-block-size:calc(100dvh - 40px); overflow:auto; margin:auto; }
.cg-dialog::backdrop { background:rgb(0 20 15 / .5); }
.cg-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; border-block-end:1px solid var(--shop-line); padding-block-end:15px; margin-block-end:14px; }
.cg-dialog-head h2 { font-size:18px; }
.cg-wide { inline-size:100%; margin-block-start:16px; }
.cg-confirm-actions { display:flex; gap:12px; margin-block-start:22px; flex-wrap:wrap; }
.cg-detail-image { inline-size:100%; max-block-size:230px; object-fit:contain; background:#fff; border-radius:12px; margin-block-end:16px; }
.cg-detail-description { white-space:pre-line; margin-block:12px !important; }
.cg-footer { border-block-start:1px solid var(--shop-line); padding:30px 24px; text-align:center; background:var(--shop-surface); font-size:13px; }
.cg-footer p { margin-block-start:8px; color:var(--shop-muted); }
.cg-mobile-cart { display:none; }
.cg-toast { position:fixed; inset-block-end:24px; inset-inline-start:50%; transform:translateX(50%); padding:12px 20px; max-inline-size:calc(100% - 30px); inline-size:max-content; background:var(--shop-primary-strong); color:var(--shop-on-primary); border-radius:12px; z-index:30; font-size:13px; }
@media(min-width:1600px) { .cg-header { gap:40px; } }
@media(max-width:1000px) { .cg-products { grid-template-columns:repeat(3,minmax(0,1fr)); } .cg-header { gap:16px; } .cg-selection-layout { grid-template-columns:minmax(0,1fr) 280px; gap:18px; } .cg-province-form { flex-wrap:wrap; } .cg-hero { gap:24px; padding:28px; } }
@media(max-width:760px) { .cg-header { flex-wrap:wrap; padding:15px 18px; gap:16px; } .cg-header>.cg-button { margin-inline-start:auto; font-size:12px; padding-inline:12px; } .cg-search { order:3; flex-basis:100%; } .cg-strip { padding:7px 18px; font-size:11px; } .cg-strip span { display:none; } .cg-main { padding:22px 16px 34px; } .cg-steps { gap:16px; justify-content:space-between; font-size:11px; margin-block-end:24px; } .cg-steps li { flex-direction:column; gap:5px; text-align:center; } .cg-hero { grid-template-columns:1fr; padding:24px; gap:22px; border-radius:18px; margin-block-end:30px; } .cg-hero h1 { font-size:27px; } .cg-hero-note { padding:18px; } .cg-hero-note>i { display:none; } .cg-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .cg-product-info { padding:12px; } .cg-product h3 { font-size:12px; } .cg-product-price { font-size:14px; } .cg-product .cg-button { font-size:12px; padding:9px 6px; gap:4px; } .cg-product-image { padding:10px; } .cg-availability { font-size:10px; } .cg-filters { gap:12px; padding:14px; } .cg-filters label:not(.cg-checkbox) { min-inline-size:125px; } .cg-checkbox { font-size:12px; } .cg-filters>.cg-button { font-size:12px; } .cg-section-head h2 { font-size:18px; } .cg-selection-layout { display:flex; flex-direction:column; } .cg-cart-summary { position:static; inline-size:100%; order:-1; padding:18px; } .cg-cart-summary #cg-cart-items { max-block-size:230px; overflow:auto; padding-inline:3px; } .cg-sellers-section { inline-size:100%; } .cg-province-form { padding:18px; flex-wrap:nowrap; align-items:stretch; flex-direction:column; } .cg-seller { padding:18px; } .cg-seller h3 { font-size:16px; } .cg-badge { font-size:10px; } .cg-seller-footer { flex-direction:column; align-items:stretch; } .cg-seller-footer>div { display:flex; align-items:center; justify-content:space-between; } .cg-dialog { padding:18px; border-radius:16px; } .cg-selection-intro h1 { font-size:26px; } .cg-mobile-cart { position:fixed; inset-block-end:0; inset-inline:0; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px max(12px,env(safe-area-inset-bottom)); background:var(--shop-surface); border-block-start:1px solid var(--shop-line-strong); z-index:10; font-size:12px; } .cg-mobile-cart small { display:block; color:var(--shop-muted); } .cg-page[data-central-stage=catalog] { padding-block-end:85px; } .cg-toast { inset-block-end:95px; } }
@media(prefers-reduced-motion:reduce) { .cg-page * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media(min-width:761px) and (max-width:1000px) {
  .cg-seller-footer { flex-direction:column; align-items:stretch; }
  .cg-seller-footer>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
}
@media(max-width:760px) {
  .cg-summary-toggle { display:inline-flex; align-items:center; justify-content:center; min-block-size:44px; border:0; padding:8px; background:var(--shop-primary-faint); color:var(--cg-link,var(--shop-primary-strong)); border-radius:9px; font-size:12px !important; }
  .cg-cart-summary:not(.is-open) #cg-cart-summary-body { display:none; }
  .cg-cart-summary .cg-section-head { margin-block-end:0; }
  .cg-cart-summary.is-open .cg-section-head { margin-block-end:15px; }
  .cg-cart-summary h2 { font-size:15px; }
  .cg-offer-product { grid-template-columns:48px minmax(0,1fr); gap:9px 10px; }
  .cg-offer-thumb { inline-size:48px; block-size:48px; }
  .cg-offer-price { grid-column:2; text-align:start; }
  .cg-offer-copy>strong { font-size:13px; }
  .cg-badge { font-size:12px; }
  .cg-product-info>small,.cg-availability { font-size:12px; }
}
