/* Yazı tipleri bu siteden sunulur (assets/fonts); Fraunces ve Manrope, SIL Open Font License. */
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("/assets/fonts/fraunces-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("/assets/fonts/fraunces-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/manrope-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --ink: #3d2d17;
  --muted: #756751;
  --cream: #fdf9ec;
  --paper: #fffdf5;
  --gold: #8a6d47;
  --line: rgba(61, 45, 23, 0.18);
  --serif: "Fraunces", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.top-bar { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 clamp(20px, 4vw, 64px); background: var(--ink); color: #d7d0c5; font-size: .7rem; letter-spacing: .05em; }
.top-bar-group { display: flex; align-items: center; gap: 22px; min-width: 0; }
.top-bar a { display: inline-flex; align-items: center; gap: 7px; color: #d7d0c5; text-decoration: none; white-space: nowrap; transition: color .2s ease; }
.top-bar a:hover, .top-bar a:focus-visible { color: #fff; }
/* Küçük bağlantıların dokunma alanı görünümü değiştirmeden ~44 px'e büyür. */
.top-bar-group > a, .product-breadcrumb a, .google-rating { position: relative; }
.top-bar-group > a::after, .product-breadcrumb a::after, .google-rating::after { content: ""; position: absolute; inset: -14px -6px; }
.skip-link { position: absolute; left: 16px; top: -120px; z-index: 100; padding: 12px 18px; background: var(--ink); color: var(--cream); font-size: .85rem; text-decoration: none; }
.skip-link:focus { top: 12px; }
.top-bar-status { display: inline-flex; align-items: center; gap: 8px; color: var(--cream); white-space: nowrap; }
.top-bar-status + a { padding-left: 22px; border-left: 1px solid rgba(215, 208, 197, .25); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #61c778; box-shadow: 0 0 0 3px rgba(97, 199, 120, .18); }
.top-bar-status.is-closed .status-dot { background: #c8b18f; box-shadow: 0 0 0 3px rgba(200, 177, 143, .18); }
.top-bar-icon, .header-icon { width: 14px; height: 14px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.top-bar-icon { color: #c8b18f; }
.top-bar { position: relative; z-index: 30; }
.top-bar-status { min-width: 0; overflow: hidden; }
.top-bar-status > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.lang-switch { position: relative; flex: 0 0 auto; }
.lang-switch summary { display: inline-flex; align-items: center; gap: 6px; padding: 12px 0; min-height: 44px; box-sizing: border-box; color: var(--cream); font-weight: 600; letter-spacing: .1em; cursor: pointer; list-style: none; }
.lang-switch summary::-webkit-details-marker { display: none; }
.lang-switch summary::after { content: ""; width: 5px; height: 5px; margin: -3px 0 0 2px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.lang-switch[open] summary::after { margin-top: 3px; transform: rotate(-135deg); }
.lang-menu { position: absolute; top: calc(100% + 8px); left: -12px; min-width: 150px; display: grid; padding: 6px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(61, 45, 23, .16); }
.top-bar .lang-menu a { padding: 9px 12px; color: var(--ink); font-size: .78rem; letter-spacing: .02em; }
.top-bar .lang-menu a:hover, .top-bar .lang-menu a:focus-visible { background: var(--cream); color: var(--ink); }
.top-bar .lang-menu a[aria-current="page"] { color: var(--gold); font-weight: 600; }
.top-bar .lang-menu a[aria-current="page"]::after { content: "✓"; margin-left: auto; }
.flag { display: inline-block; flex: 0 0 auto; width: 18px; height: 12px; border-radius: 2px; background: center / 100% 100% no-repeat; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.flag-tr { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23E30A17'/%3E%3Ccircle cx='11' cy='10' r='5' fill='%23fff'/%3E%3Ccircle cx='12.25' cy='10' r='4' fill='%23E30A17'/%3E%3Cpolygon fill='%23fff' points='17,7.6 17.54,9.26 19.28,9.26 17.87,10.28 18.41,11.94 17,10.92 15.59,11.94 16.13,10.28 14.72,9.26 16.46,9.26'/%3E%3C/svg%3E"); }
.flag-en { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30' preserveAspectRatio='none'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0L60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0L60 30M60 0L0 30' stroke='%23C8102E' stroke-width='2'/%3E%3Cpath d='M30 0V30M0 15H60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0V30M0 15H60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E"); }
.flag-ru { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2' preserveAspectRatio='none'%3E%3Crect width='3' height='2' fill='%23fff'/%3E%3Crect y='.667' width='3' height='.667' fill='%230039A6'/%3E%3Crect y='1.333' width='3' height='.667' fill='%23D52B1E'/%3E%3C/svg%3E"); }
.flag-de { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 3' preserveAspectRatio='none'%3E%3Crect width='5' height='1' fill='%23000'/%3E%3Crect y='1' width='5' height='1' fill='%23D00'/%3E%3Crect y='2' width='5' height='1' fill='%23FFCE00'/%3E%3C/svg%3E"); }
.top-bar .lang-menu a { gap: 10px; }
.lang-switch + .top-bar-status { padding-left: 18px; border-left: 1px solid rgba(215, 208, 197, .25); }
#hakkimizda, #iletisim { scroll-margin-top: 110px; }
.site-header { height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(20px, 4vw, 64px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; background: rgba(246, 241, 232, .92); backdrop-filter: blur(18px); }
.header-nav, .header-contact { color: var(--muted); font-size: .68rem; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.header-nav { display: inline-flex; align-items: center; gap: 7px; justify-self: start; }
.header-contact { display: inline-flex; align-items: center; gap: 8px; justify-self: end; color: var(--ink); padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; transition: border-color .2s ease, color .2s ease; }
.header-contact:hover, .header-contact:focus-visible { border-color: var(--gold); }
.header-contact .whatsapp-dot { width: 7px; height: 7px; }
.header-nav:hover, .header-nav:focus-visible, .header-contact:hover, .header-contact:focus-visible { color: var(--gold); }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.site-header .brand { justify-self: center; }
.brand-symbol { width: 38px; height: 44px; object-fit: cover; object-position: center; }
.brand-name { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; line-height: 1; letter-spacing: -.025em; white-space: nowrap; }
.eyebrow { margin: 0 0 16px; text-transform: uppercase; letter-spacing: .2em; font-size: .68rem; font-weight: 600; color: var(--gold); }
.catalog { padding: 58px clamp(20px, 4vw, 64px) 96px; }
.catalog-intro { max-width: 640px; margin: 0 auto 44px; padding-bottom: 40px; text-align: center; position: relative; }
.catalog-intro::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 1px; background: var(--gold); transform: translateX(-50%); }
.catalog-intro h1 { margin-bottom: 18px; }
.catalog-slogan { margin: 0; font-family: var(--serif); font-size: clamp(1.9rem, 4vw, 2.9rem); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; color: var(--ink); }
.catalog-slogan em { display: block; font-style: italic; color: var(--gold); }
.google-rating { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: var(--ink); text-decoration: none; font-size: .78rem; letter-spacing: .04em; border-bottom: 1px solid var(--line); padding-bottom: 3px; }
.google-rating:hover, .google-rating:focus-visible { border-bottom-color: var(--gold); }
.google-rating-stars { color: var(--gold); letter-spacing: .08em; font-size: .74rem; }
.google-rating > span:last-child { color: var(--gold); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 600; line-height: .9; letter-spacing: -.04em; }
#result-count { flex: 0 0 auto; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.product-search { margin-bottom: 24px; }
.product-search label { display: block; margin-bottom: 9px; font-size: .8rem; font-weight: 600; }
.product-search-field { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 10px 0 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,253,248,.7); }
.product-search-field:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(138,109,71,.12); }
.product-search-field svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: var(--muted); stroke-width: 1.7; }
.product-search input { flex: 1; min-width: 0; width: 100%; min-height: 54px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 16px; }
.product-search input::placeholder { color: var(--muted); }
.product-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.search-clear { flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 1.5rem; cursor: pointer; }
.search-clear:hover, .search-clear:focus-visible { background: var(--paper); color: var(--ink); }
.product-search p { margin: 8px 0 0; color: var(--muted); font-size: .73rem; line-height: 1.5; }
.category-scroll { display: flex; gap: 8px; overflow-x: auto; padding: 1px 44px 18px 0; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); }
.category-scroll::-webkit-scrollbar { display: none; }
.category { flex: 0 0 auto; padding: 12px 17px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); font-size: .8rem; cursor: pointer; transition: .2s ease; }
.category:hover, .category:focus-visible, .category.active { color: var(--paper); background: var(--ink); border-color: var(--ink); }
/* Çelenk: diğer kategorilerden belirgin, altın zeminli vurgulu buton (data-category her dilde "Çelenk"). */
.category-featured { display: inline-flex; align-items: center; gap: 7px; border-color: #c9a96e; background: linear-gradient(135deg, #f5ead0, #e3cb93); color: var(--ink); font-weight: 600; letter-spacing: .03em; box-shadow: 0 6px 14px -8px rgba(138,109,71,.75); }
.category-featured::before { content: "✦"; font-size: .68rem; color: var(--gold); }
.category-featured:hover, .category-featured:focus-visible, .category-featured.active { background: var(--ink); border-color: var(--ink); color: #f1dfb4; }
.category-featured:hover::before, .category-featured:focus-visible::before, .category-featured.active::before { color: #d9c29b; }

.designer-choice { width: 100%; min-height: 118px; margin: 12px 0 34px; padding: 24px 28px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; border: 0; background: var(--ink); color: var(--cream); text-align: left; cursor: pointer; }
.designer-choice-index { color: #c8b18f; font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; }
.designer-choice-copy { display: grid; gap: 5px; }
.designer-choice-copy strong { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 1; }
.designer-choice-copy small { color: #d7d0c5; font-size: .78rem; }
.designer-choice-action { padding-bottom: 3px; border-bottom: 1px solid rgba(253,249,236,.5); font-size: .76rem; }

.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 22px; margin-top: 26px; }
.product-card { min-width: 0; }
.product-card:nth-child(2n) { margin-top: 0; }
.product-button { display: block; width: 100%; border: 0; padding: 0; background: none; color: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.product-visual { aspect-ratio: 3 / 4; position: relative; display: grid; place-items: center; overflow: hidden; background: var(--paper); border: 1px solid rgba(25,24,21,.08); }
.product-visual::before { content: ""; width: 42%; aspect-ratio: 1; border: 1px solid rgba(25,24,21,.18); border-radius: 50%; position: absolute; }
.product-visual::after { content: ""; height: 1px; width: 58%; background: rgba(25,24,21,.16); transform: rotate(-38deg); position: absolute; }
.product-visual img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2; transition: transform .6s ease; }
.product-card .product-visual img { object-position: center top; }
.product-button:hover img { transform: scale(1.025); }
.product-visual span { position: relative; z-index: 1; padding: 9px 12px; background: rgba(255,255,255,.72); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.tone-rose { background: #ead6d2; } .tone-ivory { background: #ece8df; } .tone-wine { background: #d8c9c6; } .tone-sun { background: #eee2bd; }
.tone-green { background: #d7ded2; } .tone-pearl { background: #e5e1dc; } .tone-stone { background: #d9d6cf; } .tone-lilac { background: #ded4df; }
.product-badge { position: absolute; z-index: 3; top: 12px; left: 12px; color: var(--ink); background: rgba(255,253,248,.9); padding: 6px 9px; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.product-visual .product-badge { position: absolute; z-index: 3; top: auto; bottom: 12px; left: 12px; padding: 6px 9px; font-size: .64rem; letter-spacing: .08em; color: var(--ink); background: rgba(255,253,248,.92); }
.product-meta { padding-top: 15px; display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; align-items: baseline; }
.product-meta small { grid-column: 1 / -1; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .64rem; }
.product-meta .product-code { font-size: .72rem; font-weight: 500; letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.product-meta h3 { margin: 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 600; letter-spacing: -.025em; }
.product-meta strong { font-size: .83rem; font-weight: 500; white-space: nowrap; }

.local-guide { padding: 0 clamp(20px, 4vw, 64px) 72px; display: grid; grid-template-columns: 1fr 1.5fr; gap: 48px; align-items: start; }
.local-guide h2 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.local-guide-copy { max-width: 620px; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.local-guide-copy p { margin: 0 0 12px; }
.local-guide-copy p:last-child { margin-bottom: 0; }
.catalog-notes { padding: 34px clamp(20px, 4vw, 64px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; background: var(--ink); color: #d7d0c5; font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; }
footer { padding: 44px clamp(20px, 4vw, 64px); display: grid; grid-template-columns: minmax(180px, 1fr) minmax(280px, 2fr) auto; align-items: center; gap: 30px; border-top: 1px solid var(--line); }
footer p { margin: 0; font-size: .75rem; color: var(--muted); }
footer p:last-child { text-align: right; }
.footer-info { display: grid; gap: 10px; justify-items: center; text-align: center; }
.footer-contact { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 18px; }
.footer-contact a { color: var(--ink); font-size: .72rem; text-decoration: none; border-bottom: 1px solid var(--line); }
.footer-contact a:hover, .footer-contact a:focus-visible { border-color: var(--ink); }
.footer-hours { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; color: var(--ink); font-size: .72rem; }

/* Ürün penceresi: masaüstünde solda büyük sabit fotoğraf, sağda ürün bilgisi + sipariş formu. */
.product-dialog { width: min(1080px, calc(100% - 48px)); height: min(80vh, 660px); max-height: none; padding: 0; border: 0; background: var(--paper); color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.26); }
.product-dialog::backdrop { background: rgba(20,18,15,.65); backdrop-filter: blur(5px); }
.dialog-shell { position: relative; height: 100%; overflow: auto; overscroll-behavior: contain; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 1fr; }
.dialog-close { grid-column: 2; grid-row: 1 / 3; align-self: start; justify-self: end; position: sticky; top: 15px; margin: 15px 15px 0 0; z-index: 5; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,253,248,.94); color: var(--ink); font-size: 1.6rem; line-height: 1; cursor: pointer; }
.dialog-product { display: contents; }
/* Sütun genişliği fotoğrafın kendi oranından (3:4) gelir; fotoğraf kırpılmadan tamamı görünür. */
.dialog-visual { grid-column: 1; grid-row: 1 / 3; position: sticky; top: 0; height: min(80vh, 660px, 60vw); width: auto; aspect-ratio: var(--photo-ratio, .9); border: 0; background: var(--cream); }
/* Fotoğraf üstten hizalı: duvardaki yazı tam görünür, yalnızca alttaki masa ayağı/çim kırpılır.
   Yükseklik en fazla 660 px = genişlik ~594 px: ürün fotoğrafları 675×900, kendi boyutundan büyük gösterilmez (pikselleşme). */
/* Fotoğraf kırpılmadan, tamamı görünür; sütun genişliği fotoğrafın kendi oranından gelir (--photo-ratio, app.js). */
.dialog-visual img { object-fit: contain !important; object-position: center !important; }
/* "Bize Bırak" simgesi fotoğraf karesinden uzun. Izgara kendi boyunu dayatınca altı kesiliyordu; kareye sığsın. */
.dialog-visual img[src*="buketia-symbol"] { width: 100%; height: 100%; min-width: 0; min-height: 0; padding: 7%; box-sizing: border-box; object-fit: contain !important; }
.dialog-visual.has-photo { cursor: zoom-in; }
.product-visual .dialog-zoom-hint { position: absolute; z-index: 3; right: 14px; bottom: 14px; padding: 7px 11px; background: rgba(255,253,248,.92); color: var(--ink); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.product-visual .dialog-zoom-text { position: static; z-index: auto; padding: 0; background: none; color: inherit; font-size: inherit; letter-spacing: inherit; }
.dialog-summary { grid-column: 2; grid-row: 1; padding: 56px 44px 0; }
.order-start, .order-back, .step-head, .step-next { display: none; }
.dialog-summary h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 2.45rem; font-weight: 600; line-height: 1; letter-spacing: -.03em; }
.dialog-summary p:not(.eyebrow) { color: var(--muted); font-size: .9rem; }
.dialog-summary #dialog-code { margin: 0 0 14px; color: var(--gold); font-size: .74rem; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.dialog-summary strong { display: block; margin-top: 20px; font-size: 1rem; }
.dialog-summary strong.price-note { color: var(--gold); font-size: .74rem; font-weight: 500; letter-spacing: .04em; }
#order-form { grid-column: 2; grid-row: 2; padding: 38px 44px 36px; border-top: 1px solid var(--line); margin-top: 30px; }
.form-heading { display: flex; gap: 18px; margin-bottom: 30px; }
.form-heading > span { color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }
.form-heading h3 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 600; letter-spacing: -.03em; }
.form-heading .eyebrow { margin-bottom: 7px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
.form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: .74rem; letter-spacing: .04em; }
.form-grid label span { color: #9b968e; }
.delivery-fee-note { color: var(--muted); font-size: .68rem; line-height: 1.45; letter-spacing: 0; }
.form-grid .wide { grid-column: 1 / -1; }
.delivery-time-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.custom-time-toggle { border: 1px solid var(--line); background: transparent; color: var(--ink); padding: 10px 14px 11px; cursor: pointer; font-size: .78rem; letter-spacing: .04em; }
.custom-time-toggle:hover, .custom-time-toggle:focus-visible, .custom-time-toggle[aria-expanded="true"] { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.custom-time-field { display: grid; gap: 5px; margin-top: 7px; color: var(--muted); font-size: .7rem; letter-spacing: .02em; }
.custom-time-field input { max-width: 180px; }
input, textarea, select { width: 100%; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 10px 0 11px; background: transparent; color: var(--ink); font-size: .9rem; outline: none; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
textarea { resize: none; }
input:focus, textarea:focus, select:focus { border-color: var(--gold); }
.form-error { min-height: 20px; margin: 14px 0 4px; color: #943f36; font-size: .78rem; }
.whatsapp-button { width: 100%; min-height: 55px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 0; background: var(--ink); color: white; padding: 15px 20px; cursor: pointer; transition: background .2s ease; }
.whatsapp-button:hover { background: #2b2925; }
.whatsapp-button span:last-child { margin-left: auto; }
.whatsapp-dot { width: 9px; height: 9px; border-radius: 50%; background: #61c778; }
.privacy-note { margin: 11px 0 0; color: var(--muted); font-size: .68rem; text-align: center; }

/* Tam ekran fotoğraf görüntüleyici (ürün fotoğrafına dokununca açılır). */
.photo-viewer { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #0d0c0a; }
.photo-viewer::backdrop { background: #0d0c0a; }
.photo-viewer img { display: block; width: 100%; height: 100%; object-fit: contain; touch-action: pinch-zoom; }
.photo-viewer-close { position: fixed; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,253,248,.35); background: rgba(13,12,10,.55); color: #fffdf8; font-size: 1.6rem; line-height: 1; cursor: pointer; }

@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dialog-summary { padding: 52px 28px 0; }
  #order-form { padding: 32px 28px 28px; }
}

@media (max-width: 640px) {
  .site-header { height: 76px; padding: 0 18px; }
  .header-nav, .header-contact { font-size: .58rem; letter-spacing: .1em; }
  .header-contact { padding: 12px 10px; min-height: 44px; box-sizing: border-box; gap: 5px; letter-spacing: .06em; }
  .header-contact span:last-child { display: none; }
  .header-icon { width: 13px; height: 13px; }
  .top-bar { min-height: 32px; padding: 0 18px; font-size: .64rem; letter-spacing: .03em; }
  .top-bar-wide, .top-bar-phone { display: none !important; }
  .lang-switch + .top-bar-status { padding-left: 12px; }
  .top-bar-group { gap: 12px; }
  #hakkimizda, #iletisim { scroll-margin-top: 90px; }
  .brand { gap: 7px; }
  .brand-symbol { width: 30px; height: 36px; }
  .brand-name { font-size: 1.05rem; }
  .catalog { padding-top: 26px; padding-bottom: 72px; }
  .catalog-intro { margin-bottom: 22px; padding-bottom: 20px; }
  .catalog-intro h1 { margin-bottom: 14px; }
  .catalog-slogan { font-size: 1.65rem; }
  .google-rating { margin-top: 18px; }
  .section-heading { align-items: end; margin-bottom: 18px; }
  .product-search { margin-bottom: 16px; }
  .product-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .product-search p { display: none; }
  .product-grid { gap: 30px 10px; margin-top: 14px; }
  .designer-choice { min-height: 0; margin: 8px 0 22px; padding: 16px 20px; grid-template-columns: 1fr auto; gap: 8px 14px; }
  .designer-choice-index { grid-column: 1 / -1; }
  .designer-choice-copy small { max-width: 230px; }
  .product-card:nth-child(2n) { margin-top: 0; }
  .product-meta { grid-template-columns: 1fr; gap: 4px; }
  .product-meta small { grid-column: auto; }
  .product-meta h3 { font-size: 1.18rem; }
  .product-meta strong { font-size: .76rem; }
  .product-badge, .product-visual .product-badge { top: auto; bottom: 7px; left: 7px; padding: 5px 6px; font-size: .55rem; }
  .product-visual span { padding: 6px; font-size: .55rem; }
  .local-guide { grid-template-columns: 1fr; gap: 18px; padding-bottom: 52px; }
  .local-guide-copy { font-size: .84rem; }
  .catalog-notes { grid-template-columns: 1fr; gap: 12px; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer .brand { justify-content: center; }
  footer p:last-child { text-align: center; }
  /* Telefonda ürün penceresi uygulama gibi çalışır (data-step: 0 = ürün, 1–3 = sipariş adımları). */
  .product-dialog { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; }
  .dialog-shell { display: block; height: 100%; overflow: auto; }
  .dialog-close { position: fixed; top: calc(12px + env(safe-area-inset-top)); right: 12px; margin: 0; width: 44px; height: 44px; border: 0; background: rgba(255,253,245,.82); backdrop-filter: blur(10px); box-shadow: 0 4px 14px rgba(61,45,23,.12); font-size: 1.45rem; }
  .product-dialog:not(.is-ordering) #order-form { display: none; }

  /* 0. adım: katalog sayfası gibi tek, kesintisiz krem zemin. Fotoğraf paspartulu çerçevede, ortalı ve
     kendi 3:4 oranında (büyütme/kırpma yok; 675×900 kaynak). Bilgiler ortalı, düğme ekranın altında. */
  .product-dialog:not(.is-ordering) .dialog-shell { display: flex; flex-direction: column; }
  .product-dialog:not(.is-ordering) .dialog-product { flex: 1 0 auto; display: flex; flex-direction: column; padding-top: calc(60px + env(safe-area-inset-top)); background: linear-gradient(180deg, var(--cream) 0%, var(--cream) 55%, var(--paper) 100%); }
  .dialog-visual { aspect-ratio: auto; }
  /* Çerçeve 9:10; fotoğraf üstten hizalı, yalnızca alttaki masa ayağı/çim kırpılır (duvardaki yazı tam görünür). */
  .product-dialog:not(.is-ordering) .dialog-visual { flex: none; position: relative; width: min(calc(100% - 40px), calc(min(54dvh, 440px, 100dvh - 340px) * var(--photo-ratio, .9))); height: auto; max-width: none; aspect-ratio: var(--photo-ratio, .9); margin: 0 auto; border: 7px solid #fff; border-radius: 2px; box-shadow: 0 1px 0 var(--line), 0 22px 44px -18px rgba(61,45,23,.35); }
  .product-dialog:not(.is-ordering) .product-visual .dialog-zoom-hint { top: auto; bottom: 10px; right: 10px; left: auto; width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border-radius: 50%; background: rgba(255,253,245,.85); backdrop-filter: blur(8px); font-size: .95rem; letter-spacing: 0; }
  .product-dialog:not(.is-ordering) .dialog-zoom-text { display: none; }
  .product-dialog:not(.is-ordering) /* Fotoğraf kırpılmadan, tamamı görünür; sütun genişliği fotoğrafın kendi oranından gelir (--photo-ratio, app.js). */
.dialog-visual img { object-fit: contain !important; object-position: center !important; }
  .product-dialog:not(.is-ordering) .dialog-summary { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; padding: 26px 28px calc(16px + env(safe-area-inset-bottom)); text-align: center; }
  .product-dialog:not(.is-ordering) .dialog-summary .eyebrow { display: flex; align-items: center; gap: 12px; margin: auto 0 10px; font-size: .62rem; letter-spacing: .26em; }
  .product-dialog:not(.is-ordering) .dialog-summary .eyebrow::before,
  .product-dialog:not(.is-ordering) .dialog-summary .eyebrow::after { content: ""; width: 22px; height: 1px; background: var(--gold); opacity: .55; }
  .product-dialog:not(.is-ordering) .dialog-summary p:not(.eyebrow) { max-width: 32ch; }
  .product-dialog:not(.is-ordering) .dialog-summary strong.price-note { margin-top: 12px; font-family: var(--serif); font-size: .82rem; font-style: italic; font-weight: 400; letter-spacing: 0; }
  .product-dialog:not(.is-ordering) .order-start { position: sticky; bottom: calc(12px + env(safe-area-inset-bottom)); margin-top: auto; box-shadow: 0 12px 26px -10px rgba(61,45,23,.55); }
  .product-dialog:not(.is-ordering) .order-start::after { content: "→"; margin-left: 2px; color: #d9c29b; }
  .product-dialog:not(.is-ordering) .dialog-summary strong { margin-bottom: 22px; }
  .dialog-summary h2 { font-size: 2rem; margin-bottom: 10px; }
  .dialog-summary p:not(.eyebrow) { margin: 0; font-size: .88rem; line-height: 1.55; }
  .dialog-summary strong { margin-top: 8px; }
  .order-start { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 54px; margin-top: 18px; border: 0; border-radius: 999px; background: var(--ink); color: #fffdf5; font-size: .92rem; font-weight: 500; letter-spacing: .04em; cursor: pointer; }

  /* 1–3. adım: üstte geri + yuvarlak küçük fotoğraf + ürün adı, ilerleme çizgisi ve soru. */
  .is-ordering .dialog-product { display: grid; grid-template-columns: auto 44px minmax(0, 1fr); align-items: center; gap: 12px; padding: calc(10px + env(safe-area-inset-top)) 66px 10px 8px; position: sticky; top: 0; z-index: 3; background: var(--paper); }
  .is-ordering .order-back { display: grid; place-items: center; grid-column: 1; grid-row: 1; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--ink); font-size: 1.35rem; cursor: pointer; }
  .is-ordering .dialog-visual { grid-column: 2; grid-row: 1; width: 44px; height: 44px; border-radius: 50%; }
  .is-ordering .dialog-zoom-hint { display: none; }
  .is-ordering .dialog-visual img { object-fit: cover !important; object-position: center; }
  .is-ordering .dialog-summary { grid-column: 3; grid-row: 1; padding: 0; }
  .is-ordering .dialog-summary .eyebrow { margin: 0 0 2px; font-size: .6rem; }
  .is-ordering .dialog-summary h2 { margin: 0; font-size: 1.1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .is-ordering .dialog-summary p:not(.eyebrow), .is-ordering .dialog-summary strong.price-note, .is-ordering .order-start { display: none; }
  .is-ordering .dialog-summary strong { margin-top: 2px; font-size: .78rem; }
  .is-ordering .dialog-close { top: calc(12px + env(safe-area-inset-top)); }
  /* Sipariş adımlarında üst şeritte yalnız ürünün küçük resmi ve adı kalır; sepet düğmeleri ve oklar formu itmesin. */
  .is-ordering .cart-toggle, .is-ordering .cart-link, .is-ordering .cart-message, .is-ordering .visual-arrow { display: none; }
  .is-ordering .dialog-visual img[src*="buketia-symbol"] { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain !important; padding: 6px; box-sizing: border-box; }
  /* "Bize Bırak" kartının tamamı düğmedir; "Seç" yazısı yüzen WhatsApp düğmesinin altında kalmasın. */
  .designer-choice-action { display: none; }
  body { padding-bottom: 80px; }
  #order-form { margin-top: 0; border-top: 0; padding: 4px 20px calc(110px + env(safe-area-inset-bottom)); }
  .form-heading { display: none; }
  .step-head { display: block; }
  .step-progress { display: flex; gap: 6px; margin: 8px 0 12px; }
  .step-progress i { flex: 1; height: 3px; border-radius: 3px; background: var(--line); transition: background .25s ease; }
  .step-progress i.on { background: var(--gold); }
  .step-count { margin: 0 0 6px; color: var(--muted); font-size: .72rem; letter-spacing: .06em; }
  .step-question { margin: 0 0 22px; font-family: var(--serif); font-size: 1.6rem; font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
  .product-dialog[data-step="1"] .form-grid > [data-step]:not([data-step="1"]),
  .product-dialog[data-step="2"] .form-grid > [data-step]:not([data-step="2"]),
  .product-dialog[data-step="3"] .form-grid > [data-step]:not([data-step="3"]) { display: none; }
  .product-dialog:not([data-step="3"]) .whatsapp-button, .product-dialog:not([data-step="3"]) .privacy-note { display: none; }
  .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .form-grid .wide { grid-column: auto; }
  .form-grid label { gap: 8px; color: var(--ink); font-size: .8rem; font-weight: 500; letter-spacing: .01em; }
  .form-grid label span { font-weight: 400; }
  /* 16px yazı iOS'ta alana dokununca sayfanın kendiliğinden yakınlaşmasını önler. */
  .form-grid input, .form-grid textarea, .form-grid select { min-height: 50px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 16px; font-weight: 400; }
  .form-grid textarea { min-height: 0; }
  .form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184, 151, 90, .15); }
  .custom-time-toggle { min-height: 50px; border-radius: 12px; }
  .custom-time-field input { max-width: none; }
  .delivery-fee-note { font-weight: 400; color: var(--muted); }
  .step-next, .whatsapp-button { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); width: auto; min-height: 54px; border-radius: 999px; box-shadow: 0 8px 28px rgba(0,0,0,.18); z-index: 6; }
  .step-next { display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; background: var(--ink); color: white; font-size: .95rem; font-weight: 500; cursor: pointer; }
  .product-dialog[data-step="3"] .step-next { display: none; }
  .whatsapp-button { padding: 15px 22px; }
  .form-error { margin: 18px 0 0; }
}

@media (max-width: 400px) {
  .section-heading { gap: 12px; }
  .section-heading h2 { font-size: clamp(2.2rem, 11vw, 2.8rem); }
  .header-contact { padding: 0; border: 0; }
  .header-nav { gap: 5px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *:not(dialog):not(.category-panel):not(.category-toggle-chevron) { transition: none !important; } }

.local-guide-link { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold); }
.local-guide-link span { color: var(--gold); }

.seo-page-body { background: var(--cream); }
.seo-page { padding: 0 clamp(20px, 8vw, 140px); }
.seo-hero { max-width: 850px; padding: clamp(70px, 10vw, 130px) 0 100px; }
.seo-hero h1 { max-width: 780px; margin: 0 0 22px; font-family: var(--serif); font-size: clamp(3.6rem, 10vw, 8rem); font-weight: 600; line-height: .9; letter-spacing: -.055em; }
.seo-lead { max-width: 650px; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.8vw, 1.2rem); line-height: 1.7; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.seo-button { display: inline-flex; align-items: center; gap: 24px; padding: 14px 17px; background: var(--ink); color: var(--cream); font-size: .74rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.seo-button span { color: #d7bd96; font-size: 1rem; }
.seo-button-secondary { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.seo-section { padding: 78px 0; border-top: 1px solid var(--line); }
.seo-section.how-it-works-line { padding: 28px 0; font-size: .95rem; line-height: 1.6; }
.how-it-works-line a { color: inherit; font-weight: 600; }
.product-detail-info .google-rating { margin: 4px 0 14px; }
.seo-section h2 { max-width: 560px; margin: 0; font-family: var(--serif); font-size: clamp(2.3rem, 4.5vw, 4.4rem); font-weight: 600; line-height: .98; letter-spacing: -.045em; }
.seo-two-column, .seo-contact-section { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.3fr); gap: 60px; align-items: start; }
.seo-copy { max-width: 620px; color: var(--muted); font-size: .95rem; line-height: 1.8; }
.seo-copy p { margin: 0 0 18px; }
.seo-copy p:last-child { margin-bottom: 0; }
.seo-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.seo-service-grid article { min-height: 190px; padding: 22px; border: 1px solid var(--line); background: rgba(255,253,245,.5); }
.seo-service-grid h3 { margin: 0 0 13px; font-family: var(--serif); font-size: 1.45rem; font-weight: 600; line-height: 1.05; }
.seo-service-grid p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.seo-contact-card { display: grid; gap: 13px; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.seo-contact-card a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); width: fit-content; }
.seo-contact-card a:hover, .seo-contact-card a:focus-visible { border-color: var(--ink); }
.seo-faq h2 { margin-bottom: 32px; }
.seo-faq details { border-top: 1px solid var(--line); padding: 20px 0; }
.seo-faq details:last-child { border-bottom: 1px solid var(--line); }
.seo-faq summary { cursor: pointer; font-family: var(--serif); font-size: 1.35rem; list-style-position: inside; }
.seo-faq details p { max-width: 700px; margin: 13px 0 0 25px; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.seo-faq details a { color: var(--ink); }

.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 34px; color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.product-breadcrumb a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.product-breadcrumb a:hover, .product-breadcrumb a:focus-visible { color: var(--ink); border-color: var(--ink); }
.product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 90px); align-items: center; padding: 34px 0 90px; }
.product-detail-visual { display: grid; place-items: center; background: var(--paper); border: 1px solid rgba(25,24,21,.08); }
.product-detail-visual img { display: block; width: 100%; height: auto; max-height: 82vh; object-fit: contain; }
.product-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 22px 0 6px; border-top: 1px solid var(--line); }
.product-specs div { padding: 10px 0; border-bottom: 1px solid var(--line); }
.product-specs dt { color: var(--muted); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.product-specs dd { margin: 4px 0 0; font-size: .92rem; }
.product-specs a { color: inherit; }
/* Telefonda ürün sayfasının altında hep görünen sipariş çubuğu; masaüstünde gizli. */
.product-sticky-order { display: none; }
.product-detail h1 { margin: 0 0 14px; font-family: var(--serif); font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 600; line-height: .95; letter-spacing: -.05em; overflow-wrap: anywhere; }
.product-detail-code { margin: 0 0 22px; color: var(--gold); font-size: .78rem; font-weight: 500; letter-spacing: .1em; font-variant-numeric: tabular-nums; text-transform: uppercase; }
.product-detail-note { max-width: 520px; margin: 26px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.product-page .seo-section h2 { margin-bottom: 8px; }
.product-page .seo-hero { padding-top: clamp(40px, 7vw, 90px); }
.seo-service-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seo-area-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.seo-area-links a { display: inline-block; padding: 10px 14px; border: 1px solid var(--line); color: var(--ink); font-size: .82rem; text-decoration: none; }
.seo-area-links a:hover, .seo-area-links a:focus-visible { border-color: var(--ink); }
.area-links a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.area-links a:hover, .area-links a:focus-visible { border-color: var(--ink); }
footer .area-links { max-width: 520px; line-height: 1.8; }
.product-page .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 40px; }

@media (max-width: 760px) {
  .product-breadcrumb { padding-top: 22px; }
  .product-detail { grid-template-columns: 1fr; gap: 26px; padding: 20px 0 60px; }
  .product-detail-visual img { max-height: 70vh; }
  .product-specs { grid-template-columns: 1fr; }
  .product-sticky-order { position: fixed; z-index: 41; left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); display: flex; gap: 8px; }
  .product-sticky-order .seo-button { flex: 1; justify-content: center; margin: 0; box-shadow: 0 10px 26px rgba(61,45,23,.28); }
  .product-sticky-order .sticky-wa { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; border: 1px solid var(--ink); border-radius: 24px; background: var(--paper); color: var(--ink); font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-decoration: none; box-shadow: 0 10px 26px rgba(61,45,23,.2); }
  .product-sticky-order ~ .wa-float { display: none; }
  .product-sticky-order ~ footer { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .product-page .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 10px; }
  .seo-service-grid-three { grid-template-columns: 1fr; }
  .seo-page { padding: 0 20px; }
  .seo-hero { padding: 60px 0 72px; }
  .seo-hero h1 { font-size: clamp(3.1rem, 16vw, 5.6rem); }
  .seo-two-column, .seo-contact-section { grid-template-columns: 1fr; gap: 24px; }
  .seo-section { padding: 54px 0; }
  .seo-service-grid { grid-template-columns: 1fr 1fr; }
  .seo-service-grid article { min-height: 0; padding: 18px; }
  .seo-service-grid h3 { font-size: 1.2rem; }
  .seo-service-grid p { font-size: .76rem; }
}

@media (max-width: 430px) {
  .seo-actions { display: grid; }
  .seo-button { justify-content: space-between; }
  .seo-service-grid { grid-template-columns: 1fr; }
}

/* Yumuşak pencere geçişleri: ürün penceresi ve tam ekran fotoğraf açılırken/kapanırken solar. */
.product-dialog, .photo-viewer { opacity: 0; transform: translateY(48px) scale(.93); transition: opacity .55s cubic-bezier(.22,.8,.24,1), transform .55s cubic-bezier(.22,.8,.24,1), overlay .55s allow-discrete, display .55s allow-discrete; }
.product-dialog[open], .photo-viewer[open] { opacity: 1; transform: none; }
.product-dialog::backdrop, .photo-viewer::backdrop { opacity: 0; transition: opacity .55s cubic-bezier(.22,.8,.24,1), overlay .55s allow-discrete, display .55s allow-discrete; }
.product-dialog[open]::backdrop, .photo-viewer[open]::backdrop { opacity: 1; }
@starting-style {
  .product-dialog[open], .photo-viewer[open] { opacity: 0; transform: translateY(48px) scale(.93); }
  .product-dialog[open]::backdrop, .photo-viewer[open]::backdrop { opacity: 0; }
}
/* Sipariş adımları arasında geçerken içerik yumuşakça belirir. */
@keyframes soft-in { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
  .product-dialog[data-step] .step-head, .product-dialog[data-step] .form-grid > [data-step], .product-dialog[data-step] .dialog-product { animation: soft-in .6s cubic-bezier(.22,.8,.24,1) both; }
}
/* Hareketi azaltma tercihinde yalnızca yumuşak solma kalır (kayma/yakınlaşma yok). */
@media (prefers-reduced-motion: reduce) {
  .product-dialog, .photo-viewer { transition-duration: .5s; }
  @keyframes soft-in { from { opacity: 0; } to { opacity: 1; } }
}

/* Diğer geçişler: dil menüsü, kategori değişimi, açılan form alanları, masaüstü ürün penceresi içeriği. */
@keyframes pop-in { from { opacity: 0; transform: translateY(-14px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(36px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes field-in { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
.lang-switch[open] .lang-menu { animation: pop-in .5s cubic-bezier(.22,.8,.24,1) both; transform-origin: top left; }
.product-card { animation: rise-in .6s cubic-bezier(.22,.8,.24,1) both; }
.product-card:nth-child(2) { animation-delay: .06s; }
.product-card:nth-child(3) { animation-delay: .12s; }
.product-card:nth-child(4) { animation-delay: .18s; }
.product-card:nth-child(n+5) { animation-delay: .22s; }
[data-open-choice], .custom-time-field, #budget-field { animation: field-in .5s cubic-bezier(.22,.8,.24,1) both; }
@media (min-width: 641px) {
  .product-dialog[open] .dialog-visual { animation: soft-in .7s cubic-bezier(.22,.8,.24,1) .1s both; }
  .product-dialog[open] .dialog-summary, .product-dialog[open] #order-form { animation: soft-in .7s cubic-bezier(.22,.8,.24,1) .2s both; }
}

/* Çıkış geçişleri: dil menüsü kapanışı, gizlenen alanlar, kategori değişiminde eski kartlar. */
@keyframes field-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-16px); } }
[data-open-choice].is-leaving, .custom-time-field.is-leaving, #budget-field.is-leaving { animation: field-out .45s cubic-bezier(.22,.8,.24,1) both; pointer-events: none; }
.product-grid { transition: opacity .26s ease, transform .26s ease; }
.product-grid.is-switching { opacity: 0; transform: translateY(18px); pointer-events: none; }
.lang-switch::details-content { opacity: 0; transform: translateY(-10px); transition: opacity .4s ease, transform .4s ease, content-visibility .4s allow-discrete; }
.lang-switch[open]::details-content { opacity: 1; transform: none; }

.empty-note a { color: inherit; font-weight: 600; }
.sent-notice { margin: 14px 0 0; padding: 14px 16px; border: 1px solid var(--gold); border-radius: 12px; background: #fff; font-size: .86rem; line-height: 1.45; }
.sent-notice strong { display: block; margin-bottom: 6px; font-weight: 600; }
.sent-notice a { color: var(--ink); }
.empty-note { grid-column: 1 / -1; text-align: center; color: var(--muted, #6f665e); padding: 48px 16px; animation: soft-in .5s ease both; }


/* Kategori kartları: tüm kategoriler tek bakışta, 2 sütun (masaüstünde 5). */
.category-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.category-grid .category { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px 12px; border-radius: 14px; text-align: center; line-height: 1.25; }
@media (min-width: 760px) { .category-grid { grid-template-columns: repeat(5, 1fr); } }

/* Açılır kategori çubuğu: kapalıyken tek satır, dokununca tüm kategoriler açılır. */
.category-picker { margin-bottom: 20px; }
.category-toggle { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 56px; padding: 12px 18px; border: 1px solid #c9a96e; border-radius: 16px; background: linear-gradient(135deg, #fbf3df, #f1e2bd); color: var(--ink); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 8px 18px -12px rgba(138,109,71,.8); }
.category-toggle:hover, .category-toggle:focus-visible { border-color: var(--ink); }
.category-toggle-label { color: var(--muted); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.category-toggle-current { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--serif); font-size: 1.1rem; font-weight: 600; }
.category-toggle-count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; border-radius: 999px; background: var(--ink); color: #f1dfb4; font-size: .72rem; animation: toggle-pulse 1.8s ease-in-out 1s 3; }
.category-toggle-chevron { width: 10px; height: 10px; margin: 0 4px 3px 2px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg); transition: transform .4s cubic-bezier(.22,.8,.24,1), margin .4s; }
.category-toggle[aria-expanded="true"] .category-toggle-chevron { transform: rotate(-135deg); margin: 4px 4px 0 2px; }
@keyframes toggle-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(201,169,110,.7); } 50% { box-shadow: 0 0 0 9px rgba(201,169,110,0); } }
.category-panel { display: grid; grid-template-rows: 0fr; visibility: hidden; opacity: 0; transition: grid-template-rows .55s cubic-bezier(.22,.8,.24,1), opacity .4s ease, visibility 0s .55s; }
.category-panel-inner { min-height: 0; overflow: hidden; }
.category-panel.is-open { grid-template-rows: 1fr; visibility: visible; opacity: 1; transition: grid-template-rows .55s cubic-bezier(.22,.8,.24,1), opacity .4s ease, visibility 0s; }
.category-panel .category-grid { margin: 12px 0 0; }
.category-quick { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 8px; }
.category-toggle-text { display: grid; flex: 1; gap: 2px; min-width: 0; }
.category-toggle-label { font-size: .6rem; letter-spacing: .16em; }
.category-wreath { min-height: 56px; padding: 10px 14px; border-radius: 16px; justify-content: center; font-size: .95rem; }
@media (max-width: 479px) { .category-toggle-count { display: none; } }


/* Sepet: ürün penceresindeki düğmeler, yüzen sepet düğmesi ve sepet penceresi. */
.cart-toggle { display: block; width: 100%; margin-top: 18px; padding: 14px 18px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: inherit; font-size: .8rem; letter-spacing: .06em; text-align: center; cursor: pointer; transition: background .2s ease, color .2s ease; }
.cart-toggle:hover, .cart-toggle:focus-visible, .cart-toggle[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.cart-link { display: block; margin: 12px auto 0; padding: 4px 0; border: 0; background: none; color: var(--gold); font: inherit; font-size: .78rem; letter-spacing: .04em; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cart-toggle[hidden], .cart-link[hidden] { display: none; }
.dialog-summary .cart-message { min-height: 0; margin: 8px 0 0; color: #943f36; font-size: .76rem; text-align: center; }
.cart-message:empty { display: none; }

.cart-fab { position: fixed; z-index: 40; left: max(18px, env(safe-area-inset-left)); bottom: max(18px, env(safe-area-inset-bottom)); min-height: 48px; padding: 0 22px; border: 0; border-radius: 24px; background: var(--gold); color: #fff; font: inherit; font-size: .8rem; font-weight: 600; letter-spacing: .06em; box-shadow: 0 10px 28px rgba(61,45,23,.28); cursor: pointer; }
.cart-fab[hidden] { display: none; }

.cart-dialog { width: min(460px, calc(100% - 32px)); max-height: min(86vh, 700px); padding: 0; border: 0; background: var(--paper); color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.26); }
.cart-dialog::backdrop { background: rgba(20,18,15,.65); backdrop-filter: blur(5px); }
.cart-shell { position: relative; padding: 34px 28px 26px; }
.cart-shell h2 { margin: 0 0 4px; padding-right: 44px; font-family: var(--serif); font-size: 2rem; font-weight: 600; letter-spacing: -.03em; }
.cart-count { min-height: 1.2em; margin: 0 0 18px; color: var(--muted); font-size: .8rem; }
.cart-close { position: absolute; top: 16px; right: 16px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.cart-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.cart-item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.cart-item-photo { width: 56px; height: 72px; overflow: hidden; background: var(--cream); }
.cart-item-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cart-item-info strong { display: block; font-family: var(--serif); font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.cart-item-info small { color: var(--muted); font-size: .74rem; }
.cart-item-remove { width: 44px; height: 44px; border: 0; background: none; color: var(--muted); font-size: 1.4rem; cursor: pointer; }
.cart-item-remove:hover, .cart-item-remove:focus-visible { color: #943f36; }
.cart-empty { padding: 28px 0; color: var(--muted); font-size: .9rem; }
.cart-footer { margin-top: 20px; }
.cart-footer[hidden] { display: none; }
.cart-note { margin: 0 0 14px; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.cart-clear { display: block; margin: 14px auto 0; padding: 6px 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: .76rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

@media (max-width: 640px) {
  .cart-dialog { width: 100%; max-width: none; max-height: 88dvh; margin: auto 0 0; }
  .cart-shell { padding: 30px 20px calc(22px + env(safe-area-inset-bottom)); }
}

/* Sabit WhatsApp düğmesi: sağ altta, sepet düğmesi (sol altta) ile aynı hizada. */
.wa-float { position: fixed; z-index: 40; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; gap: 10px; border-radius: 24px; background: var(--paper); border: 1px solid var(--ink); color: var(--ink); font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; box-shadow: 0 10px 28px rgba(61,45,23,.2); }
.wa-float:hover, .wa-float:focus-visible { background: var(--ink); color: var(--paper); }

/* Sepet siparişinde fotoğrafın iki yanındaki ok tuşları. */
.visual-arrow { position: absolute; z-index: 4; top: 50%; width: 46px; height: 46px; margin-top: -23px; padding: 0 0 4px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,253,245,.92); color: var(--ink); font-size: 1.7rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(61,45,23,.16); }
.visual-arrow:hover, .visual-arrow:focus-visible { background: var(--ink); color: var(--paper); }
.visual-arrow-prev { left: 12px; }
.visual-arrow-next { right: 12px; }

/* Ana sayfa: Google puanının altındaki teslimat ve sipariş satırı. */
.how-it-works { display: grid; gap: 4px; margin: 14px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; letter-spacing: .02em; }
.how-it-works span:last-child { color: var(--ink); }
/* Özel gün bandı: build.mjs hidden basar, app.js tarih aralığında görünür yapar. */
.occasion-band { display: inline-block; margin-top: 14px; padding: 9px 16px; border: 1px solid #c9a96e; border-radius: 999px; background: linear-gradient(135deg, #f5ead0, #ecdcb5); color: var(--ink); font-size: .78rem; font-weight: 600; text-decoration: none; }
.occasion-band[hidden] { display: none; }
.occasion-band span { color: var(--gold); }
.occasion-band:hover, .occasion-band:focus-visible { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.occasion-band:hover span, .occasion-band:focus-visible span { color: #d9c29b; }
.instagram-line { margin: 44px 0 0; text-align: center; font-size: .8rem; }
.instagram-line a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); padding-bottom: 2px; }
.instagram-line a:hover, .instagram-line a:focus-visible { border-color: var(--gold); }
.instagram-line span { color: var(--gold); }
.about-shop { padding-top: 8px; }
.about-shop .local-guide-copy a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.about-shop .local-guide-copy a:hover, .about-shop .local-guide-copy a:focus-visible { border-color: var(--ink); }
.about-shop + .local-guide { padding-top: 40px; border-top: 1px solid var(--line); margin: 0 clamp(20px, 4vw, 64px); padding-left: 0; padding-right: 0; }

/* Kart notu ve şerit yazısı örnekleri (özel gün, rehber ve çelenk sayfaları). */
.note-list { margin: 18px 0; padding: 0; list-style: none; }
.note-list li { padding: 11px 0 11px 18px; border-top: 1px solid var(--line); color: var(--ink); font-family: var(--serif); font-size: 1.02rem; font-style: italic; line-height: 1.45; position: relative; }
.note-list li::before { content: "“"; position: absolute; left: 0; top: 9px; color: var(--gold); }
.note-list li:last-child { border-bottom: 1px solid var(--line); }
.seo-service-grid .note-list { margin: 0; }
.seo-service-grid .note-list li { font-size: .92rem; }
.seo-copy h3 { margin: 26px 0 8px; color: var(--ink); font-family: var(--serif); font-size: 1.3rem; font-weight: 600; line-height: 1.2; }
.seo-copy h3:first-child { margin-top: 0; }
.seo-copy a { color: var(--ink); }

/* Sipariş formu: kart notu önerileri (app.js oluşturur). */
.card-ideas { display: grid; gap: 8px; margin-top: -6px; }
.card-ideas[hidden] { display: none; }
.card-ideas-title { margin: 0; color: var(--muted); font-size: .72rem; letter-spacing: .04em; }
.card-ideas-chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.card-ideas-chips::-webkit-scrollbar { display: none; }
.card-idea-chip { flex: 0 0 auto; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-size: .74rem; cursor: pointer; }
.card-idea-chip:hover, .card-idea-chip:focus-visible, .card-idea-chip[aria-expanded="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.card-ideas-notes { display: grid; gap: 6px; }
.card-ideas-notes[hidden] { display: none; }
.card-idea-note { padding: 10px 12px; border: 1px dashed var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; font-size: .8rem; line-height: 1.45; text-align: left; cursor: pointer; }
.card-idea-note::after { content: " +"; color: var(--gold); }
.card-idea-note:hover, .card-idea-note:focus-visible { border-color: var(--gold); }
.card-idea-note.is-added { border-style: solid; border-color: var(--gold); }
.card-idea-note.is-added::after { content: " ✓"; }
@media (max-width: 640px) {
  .how-it-works { margin-top: 12px; font-size: .74rem; }
  .occasion-band { margin-top: 12px; padding: 8px 14px; font-size: .74rem; }
  .instagram-line { margin-top: 34px; }
  .about-shop + .local-guide { margin: 0 20px; padding-top: 32px; }
  .card-ideas { margin-top: -4px; }
}
@media (min-width: 641px) {
  .card-ideas-chips { flex-wrap: wrap; overflow: visible; }
}
