/* Shared responsive layout and product gallery, September 2026. */
html { -webkit-text-size-adjust:100%; scroll-padding-top:110px; }
body { min-width:0; }
body > main { width:100%; min-width:0; }
main :where(.grid,.flex,.safis-grid,.safis-container,.safis-sales-container) > * { min-width:0; }
main :where(h1,h2,h3,p,li,a) { overflow-wrap:break-word; }
main :where(img,video,iframe) { max-width:100%; }
main iframe { width:100%; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid #6c8c45; outline-offset:4px; }
.safis-gallery { min-width:0; width:100%; background:#fff; }
.safis-gallery-track { display:flex; width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.safis-gallery-track::-webkit-scrollbar { display:none; }
.safis-gallery-slide { flex:0 0 100%; min-width:0; aspect-ratio:4/5; scroll-snap-align:start; scroll-snap-stop:always; overflow:hidden; }
.safis-gallery .safis-gallery-slide img { display:block; width:100%; height:100%; object-fit:contain; transform:none; border-radius:0; }
.safis-gallery-pack { padding:16px; }
.safis-gallery-controls { display:flex; align-items:center; justify-content:space-between; padding:4px 12px; border-top:1px solid #eeece7; background:#fff; }
.safis-gallery-controls[hidden] { display:none; }
.safis-gallery-controls button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; color:#263932; background:transparent; border:0; border-radius:50%; cursor:pointer; font-size:30px; line-height:1; }
.safis-gallery-controls button:hover { background:#f1f3ed; }
.safis-gallery-dots { display:flex; }
.safis-gallery-dots button span { width:8px; height:8px; border:1px solid #526554; border-radius:50%; }
.safis-gallery-dots button[aria-pressed=true] span { background:#263932; }
.safis-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.safis-card-content-link { color:inherit; text-decoration:none; }
.safis-product-page > nav ol,.safis-breadcrumb { flex-wrap:wrap; }
.safis-gallery-detail { min-width:0; border-radius:16px; overflow:hidden; }
#mobile-menu { max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain; }
@media (max-width:1099px) {
  #site-header > div:first-child { height:78px !important; padding-inline:20px; }
  #site-header .safis-header-logo { height:64px !important; }
  #site-header nav[aria-label="Ana menü"], #site-header .safis-header-socials { display:none !important; }
  #mobile-menu-btn { display:inline-flex !important; flex-shrink:0; }
  #mobile-menu:not(.hidden) { display:block !important; }
}
@media (min-width:1100px) {
  #mobile-menu,#mobile-menu-btn { display:none !important; }
}
@media (max-width:767px) {
  html { scroll-padding-top:90px; }
  main > .max-w-container-max { padding-inline:20px; padding-block:36px; }
  main :where(input,select,textarea) { font-size:16px !important; max-width:100%; }
  main :where(input:not([type=checkbox]):not([type=radio]),select,button[type=submit]) { min-height:48px; }
  main a[href^="mailto:"] { overflow-wrap:anywhere; }
  .safis-products-page .safis-products-filters { display:flex; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; gap:8px; padding-bottom:12px; margin-bottom:28px; overscroll-behavior-x:contain; }
  .safis-products-filters a { flex:0 0 auto; white-space:nowrap; padding-inline:18px; }
  .safis-products-page > section:first-child { margin-bottom:28px; }
  .safis-product-page .gap-unit-xl { gap:28px; }
  .safis-product-page > nav { margin-bottom:22px; }
  .safis-product-page > nav ol { font-size:12px; row-gap:8px; }
  .safis-contact-page .p-unit-lg { padding:22px; }
  .safis-contact-page .gap-gutter { gap:24px; }
  .safis-sales-page .safis-starter-grid { grid-template-columns:1fr; }
  .safis-sales-page .safis-product-card { display:flex; }
  .safis-sales-page .safis-product-card-image { height:auto; aspect-ratio:auto; }
  footer { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  #safis-whatsapp-button { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); }
}
@media (max-width:380px) {
  main h1,.safis-products-title { font-size:34px !important; }
  .safis-gallery-pack { padding:10px; }
  .safis-marketplace-card { padding:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .safis-gallery-track { scroll-behavior:auto; }
}

.safis-guide-layout > *, .safis-guide-product > * { min-width:0; }
.safis-guide-table-wrap { max-width:100%; }
.safis-sales-page .safis-product-card-image { height:auto; aspect-ratio:auto; }
