/* Ürün sayfası: kurumsal marka paleti, tek tip seçenekler ve bağımsız detay alanı. */
.product-page { --muted:#596777; --line:#e5e8ec; --blue:#f5f7f8; font-size:15px; -webkit-font-smoothing:antialiased; }
.product-page :is(h1,h2,h3) { letter-spacing:-.035em; }
.product-page .eyebrow { color:var(--sage-text); font-size:11px; letter-spacing:.09em; }
.product-page .breadcrumb { background:#f5f7f8; font-size:12px; }
.product-page .panel { border-color:var(--line); border-radius:14px; box-shadow:none; }
.product-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; gap:32px; padding-block:32px 40px; }
.product-media,.configurator { min-width:0; }
.gallery { position:relative; padding:16px; }
.gallery>.pill { position:absolute; top:28px; left:28px; z-index:1; }
.zoom-button { position:absolute; right:28px; top:28px; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fffffff0; z-index:1; }
.gallery .main-image { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; border-radius:9px; background:#fff; transition:opacity .18s ease; }
.image-caption { display:block; font-size:13px; color:var(--muted); margin-top:12px; }
.configurator { padding:28px; }
.configurator>.pill { background:var(--sage); color:var(--sage-text); font-size:11px; padding:6px 10px; }
.configurator h1 { font-size:clamp(26px,2.2vw,34px); line-height:1.2; margin-top:12px; margin-bottom:20px; overflow-wrap:anywhere; }
.product-description { font-size:15px; line-height:1.75; margin:14px 0 24px; }
.configurator fieldset { margin:0 0 24px; min-width:0; }
.configurator legend { display:flex; gap:9px; font-size:15px; line-height:1.5; margin-bottom:12px; }
.choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.choices.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice { display:flex; align-items:start; gap:9px; min-width:0; min-height:66px; padding:13px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; transition:border-color .15s,background .15s; }
.choice:only-child { grid-column:1/-1; }
.choice:hover { border-color:#aebfb4; }
.choice:has(input:checked) { border-color:var(--orange); background:#fff7eb; box-shadow:inset 0 0 0 1px var(--orange); }
.choice:has(input:focus-visible) { outline:3px solid var(--sage-text); outline-offset:3px; }
.choice input { width:16px; height:16px; flex:0 0 16px; margin:3px 0 0; accent-color:var(--orange); }
.choice>span { min-width:0; overflow-wrap:anywhere; }
.choice strong { display:block; font-size:14px; font-weight:600; line-height:1.45; color:var(--ink); }
.choice small { display:block; font-size:12px; line-height:1.55; color:var(--muted); margin-top:4px; }
.choice b { display:block; font-size:15px; color:var(--ink); margin-top:8px; font-variant-numeric:tabular-nums; }
.quantity-choice { padding:13px 10px; gap:7px; }
.quantity-choice strong { font-size:14px; }
.configurator .button { min-height:48px; font-size:15px; border-radius:8px; }
.configurator .mini-assurance { flex-wrap:wrap; gap:8px 16px; font-size:12px; }
.price-summary { padding:20px 0; border-top:1px solid var(--line); margin-bottom:4px; }
.total-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.total-row>span { font-size:14px; font-weight:600; }
.total-row small { font-size:12px; font-weight:400; display:block; margin-top:4px; color:var(--muted); }
.total-row>strong { font-size:32px; line-height:1.2; font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.calculation-note { font-size:12px; color:var(--muted); margin-top:10px; }
.total-row>strong small { display:inline; margin:0 0 0 4px; font-size:14px; font-weight:400; letter-spacing:0; }
.total-vat { margin-top:6px; text-align:right; font-size:14px; color:var(--muted); }
.total-vat b { color:var(--ink); font-variant-numeric:tabular-nums; }
.mobile-buy-bar { display:none; }
.product-information { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.38fr); gap:24px; align-items:start; padding-bottom:48px; }
.specifications { grid-column:1 / -1; grid-row:1; min-width:0; padding:28px; }
.product-information:has(.technical-callout) .specifications { grid-column:1; }
#panel-description .rich-text { max-width:860px; }
.technical-callout { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:start; gap:14px; padding:24px; background:var(--sage); }
.technical-callout>.icon { width:40px; height:40px; color:var(--sage-text); }
.technical-callout h3 { font-size:18px; margin-bottom:10px; }
.technical-callout p { font-size:14px; color:var(--sage-muted); line-height:1.75; }
.tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.tabs button { min-height:44px; padding:10px 15px; font-size:14px; font-weight:600; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--muted); }
.tabs button.selected { background:var(--sage); color:var(--sage-text); border-color:var(--sage-line); }
.spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; }
.spec-grid>div { background:#f5f7f8; border-radius:8px; padding:18px; min-width:0; }
.spec-grid dt { font-size:11px; letter-spacing:.07em; color:var(--muted); }
.spec-grid dd { font-size:15px; margin:8px 0 0; font-weight:600; overflow-wrap:anywhere; }
.product-tab-panels { display:grid; }
.product-tab-panels>[role=tabpanel] { grid-area:1/1; min-width:0; }
.product-tab-panels>[hidden] { display:block !important; visibility:hidden; pointer-events:none; }
.product-page [role=tabpanel]>h3 { font-size:19px; margin-bottom:12px; }
.product-page [role=tabpanel]>p { font-size:15px; line-height:1.75; color:var(--muted); }
.print-note { display:flex; align-items:start; gap:12px; background:var(--sage); color:var(--sage-muted); border-radius:8px; padding:16px; margin-top:18px; font-size:13px; line-height:1.7; }
.print-note>.icon { flex:0 0 24px; width:24px; height:24px; color:var(--sage-text); }
.why-section { padding:48px 0; background:#f5f7f8; border-block:1px solid var(--line); }
.product-page .section-title h2,.product-page .section-row h2 { font-size:clamp(26px,2.5vw,34px); line-height:1.2; }
.why-section .section-title p,.product-page .section-row p { font-size:15px; line-height:1.75; color:var(--muted); }
.benefit-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.benefit-cards .panel { padding:24px; min-width:0; }
.benefit-cards .icon { width:44px; height:44px; padding:10px; background:var(--sage); color:var(--sage-text); border-radius:10px; margin-bottom:18px; }
.benefit-cards .panel:nth-child(even) .icon { background:#fff0d9; color:var(--ink); }
.benefit-cards h3 { font-size:18px; line-height:1.35; margin-bottom:10px; }
.benefit-cards p { font-size:14px; line-height:1.75; color:var(--muted); }
.product-page .section-row { gap:20px; }
.design-entry { display:flex; flex-direction:column; align-items:start; gap:6px; padding:18px; margin-bottom:24px; background:var(--sage); color:var(--sage-text); border-radius:10px; }
.design-entry>.icon { width:28px; height:28px; }
.design-entry p { margin:0 0 8px; font-size:13px; line-height:1.6; color:var(--sage-muted); }
.design-entry .button { min-height:46px; }
.design-entry-actions { display:flex; flex-wrap:wrap; gap:10px; }
.design-entry.is-pending { font-size:14px; }
.design-entry.is-pending p { margin:0; }
.choices.size-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
.size-choice { min-height:0; align-items:center; justify-content:center; }
.size-choice>span { text-align:center; }
.size-choice input { position:absolute; opacity:0; pointer-events:none; }
.choice-note { margin-top:10px; font-size:13px; color:var(--muted); }
.choice:has(input:disabled) { opacity:.45; cursor:not-allowed; }
.image-dialog { padding:20px; border:0; border-radius:14px; max-width:min(850px,95vw); background:#fff; }
.image-dialog::backdrop { background:#1d2938b8; }
.image-dialog>.button { display:flex; margin-left:auto; margin-bottom:10px; min-height:44px; }
.image-dialog img { max-height:75vh; object-fit:contain; }
@media(min-width:801px) {
    .product-media { position:sticky; top:calc(var(--store-header-height,160px) + 20px); }
}
@media(max-width:1100px) {
    .product-detail { gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .configurator { padding:22px; }
    .choices.three { grid-template-columns:1fr; }
    .quantity-choice>span { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; width:100%; }
    .quantity-choice :is(small,b) { margin:0; }
    .benefit-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-information { grid-template-columns:minmax(0,1fr) minmax(220px,.4fr); }
}
@media(max-width:800px) {
    .product-detail { grid-template-columns:minmax(0,1fr); gap:24px; padding-top:24px; }
    .product-media { display:block; min-width:0; }
    .gallery { order:0; }
    .gallery .main-image { max-height:420px; }
    .configurator { order:1; }
    .product-information { grid-template-columns:minmax(0,1fr); }
    .technical-callout { grid-column:1; grid-row:2; flex-direction:row; }
    .technical-callout>.icon { flex:0 0 36px; }
    .choices.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .quantity-choice>span { display:block; }
    .quantity-choice small { margin-top:4px; }
    .quantity-choice b { margin-top:8px; }
    .product-page { padding-bottom:76px; }
    .mobile-buy-bar { position:fixed; right:0; bottom:0; left:0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; box-shadow:0 -6px 20px #1d29381a; }
    .mobile-buy-bar>span { display:flex; flex-direction:column; line-height:1.25; }
    .mobile-buy-bar b { font-size:20px; font-variant-numeric:tabular-nums; }
    .mobile-buy-bar small { font-size:12px; color:var(--muted); }
    .mobile-buy-bar .button { flex:none; min-height:48px; padding-inline:20px; }
}
@media(max-width:480px) {
    .choices.size-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .product-page .container { width:calc(100% - 32px); }
    .configurator,.specifications { padding:20px; }
    .configurator h1 { font-size:27px; }
    .choices,.choices.three { grid-template-columns:minmax(0,1fr); }
    .quantity-choice>span { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; width:100%; }
    .quantity-choice :is(small,b) { margin:0; }
    .quantity-choice small { flex-basis:100%; order:1; }
    .spec-grid { grid-template-columns:minmax(0,1fr); }
    .tabs { display:grid; grid-template-columns:1fr; gap:6px; }
    .tabs button { text-align:left; }
    .technical-callout { padding:20px; }
    .benefit-cards { grid-template-columns:1fr; gap:12px; }
    .benefit-cards .panel { padding:22px; }
    .product-page .section-row { flex-wrap:wrap; align-items:start; }
    .product-page .section-row .text-link { min-height:44px; display:inline-flex; align-items:center; }
}

.count-input {
    display: flex;
    align-items: center;
    gap: 12px;
}

.count-input input {
    width: 140px;
    padding: 10px 12px;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    font: inherit;
}

.variant-missing {
    margin: 8px 0 0;
    color: #a1261c;
    font-size: 13px;
}

.gallery-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:12px 2px 2px; }
.gallery-thumbnail { flex:0 0 72px; padding:4px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.gallery-thumbnail[aria-pressed="true"] { border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange); }
.gallery-thumbnail:focus-visible { outline:3px solid var(--sage-text); outline-offset:2px; }
.gallery-thumbnail img { display:block; width:64px; height:64px; object-fit:contain; }

@media (prefers-reduced-motion:reduce) { .gallery .main-image { transition:none; } }

.product-personalization{display:grid;gap:16px}.personalization-field{display:grid;gap:8px;min-width:0}.personalization-field>label{font-size:14px;font-weight:600}.personalization-field input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}.personalization-field input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.personalization-field small{color:var(--muted);font-size:12px}
