/* Cafe Sandalyeciniz · mobile application shell. Load after site.css. */
.mobile-app-nav{display:none}

@media(max-width:680px){
  :root{--app-gutter:clamp(16px,4.6vw,22px);--app-nav-height:70px;--app-header-height:68px;--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-top:env(safe-area-inset-top,0px)}
  html{scroll-padding-top:calc(var(--app-header-height) + var(--app-safe-top) + 16px);scroll-padding-bottom:calc(var(--app-nav-height) + var(--app-safe-bottom) + 16px)}
  body{min-height:100dvh;padding-bottom:calc(var(--app-nav-height) + var(--app-safe-bottom) + 10px)}
  .container{width:calc(100% - var(--app-gutter)*2)}
  .topbar,.header-actions .header-quote,.mobile-sticky{display:none}

  /* A quiet, compact app bar keeps the collection one tap away. */
  .site-header{height:calc(var(--app-header-height) + var(--app-safe-top));padding-top:var(--app-safe-top);background:rgba(248,246,241,.95);border-color:#dfe3d7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .header-inner{gap:8px;justify-content:space-between}
  .site-header .brand{gap:8px;min-width:0;flex-shrink:1}
  .site-header .brand-mark{width:24px;height:35px;flex-shrink:0}
  .site-header .brand-word{font-size:18px;letter-spacing:-.75px;white-space:nowrap}
  .site-header .brand-tag{font-size:6px;letter-spacing:.21em;margin-top:6px}
  .header-actions{margin-left:auto;gap:2px;flex-shrink:0}
  .header-actions>.icon-btn{width:44px;height:44px;border-radius:14px}
  .header-actions .icon{width:21px;height:21px}
  .mobile-toggle{display:inline-flex}
  .main-nav{top:calc(var(--app-header-height) + var(--app-safe-top));padding:12px var(--app-gutter) 20px;max-height:calc(100dvh - var(--app-header-height) - var(--app-safe-top) - var(--app-nav-height) - var(--app-safe-bottom));border-radius:0 0 20px 20px;box-shadow:0 16px 25px #17332112}
  .main-nav>a,.nav-catalog>summary,.nav-dropdown a{min-height:48px;display:flex;align-items:center}
  .main-nav>a{font-size:14px}
  .nav-dropdown{padding-left:8px}
  .nav-dropdown a{font-size:13px}

  /* Five fixed destinations, with room for the device's home indicator. */
  .mobile-app-nav{position:fixed;inset:auto 0 0;z-index:55;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;height:calc(var(--app-nav-height) + var(--app-safe-bottom));padding:5px max(6px,env(safe-area-inset-right,0px)) calc(5px + var(--app-safe-bottom)) max(6px,env(safe-area-inset-left,0px));border-top:1px solid #d9dfd2;background:rgba(248,246,241,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -5px 24px #20382e08}
  .app-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;min-height:54px;margin:0;padding:2px;border:0;border-radius:12px;color:#717b6f;background:transparent;font:10px/1.15 var(--sans);text-align:center;text-decoration:none;touch-action:manipulation}
  .app-nav-icon{position:relative;display:grid;place-items:center;flex-shrink:0;width:48px;height:31px;border-radius:12px;color:inherit;transition:background .16s,color .16s,transform .16s}
  .app-nav-icon>.icon{width:21px;height:21px;stroke-width:1.65}
  .app-nav-label{display:block;white-space:nowrap;max-width:100%;font-size:10px;font-weight:500;letter-spacing:0}
  .app-nav-item>.icon{width:48px;height:31px;padding:5px 13px;border-radius:12px;transition:background .16s,color .16s}
  .app-nav-item.is-active,.app-nav-item[aria-current="page"]{color:var(--ink)}
  .app-nav-item.is-active .app-nav-icon,.app-nav-item[aria-current="page"] .app-nav-icon,.app-nav-item.is-active>.icon,.app-nav-item[aria-current="page"]>.icon,.app-nav-item[aria-expanded="true"] .app-nav-icon{color:var(--paper);background:var(--ink)}
  .app-nav-item.is-active .app-nav-label,.app-nav-item[aria-current="page"] .app-nav-label{font-weight:700}
  .app-nav-item:active .app-nav-icon{transform:scale(.94);background:var(--sage);color:var(--ink)}
  .app-nav-item:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}
  .app-nav-item .quote-count{position:absolute;right:-5px;top:-4px;display:flex;align-items:center;justify-content:center;min-width:17px;max-width:34px;height:17px;padding:0 4px;border:2px solid var(--paper);border-radius:12px;background:#cdd8bb;color:#22392e;font-size:9px;font-weight:700;line-height:1;white-space:nowrap}
  .app-nav-item>.quote-count{top:2px;right:calc(50% - 28px)}
  body.dialog-open .mobile-app-nav{visibility:hidden;pointer-events:none}

  /* First screen: an editorial welcome in a compact app-sized composition. */
  .hero{padding-top:23px;padding-bottom:28px}
  .hero-grid{gap:22px}
  .hero-copy{padding:0}
  .hero-copy .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:13px}
  .hero-copy h1{font-size:clamp(42px,12vw,48px);line-height:1.045;max-width:100%;letter-spacing:-.045em}
  .hero-copy>p{font-size:13px;line-height:1.75;margin-block:16px 19px;max-width:365px}
  .hero-copy .btn-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;align-items:stretch}
  .hero-copy .btn{gap:8px;padding:10px 8px;min-height:46px;border-radius:12px;font-size:10.5px}
  .hero-copy .text-link{min-height:46px;justify-content:center;gap:6px;padding:7px 4px;border:1px solid #d5dccd;border-radius:12px;font-size:10.5px;line-height:1.35;white-space:normal}
  .hero-meta{margin-top:16px;font-size:8.5px;gap:9px;flex-wrap:wrap}
  .hero-art{margin-top:0}
  .hero-img{height:290px;width:100%;border-radius:21px 21px 7px 7px;object-position:50% 55%}
  .hero-seal{width:58px;height:58px;top:-17px;right:12px;border-width:4px;font-size:5px;gap:2px}
  .hero-seal svg{width:16px;height:16px}
  .hero-float{left:12px;bottom:37px;padding:12px 15px;gap:12px;min-width:0;max-width:calc(100% - 24px);border-radius:14px;background:rgba(248,246,241,.96);box-shadow:0 8px 28px #172d1815}
  .hero-float .icon{width:25px;height:25px}
  .hero-float p{font-size:18px}
  .hero-float span{font-size:6.5px;letter-spacing:.08em;margin-top:7px}
  .hero-image-note{font-size:8px;letter-spacing:.035em;margin-top:11px}
  .promise-inner{padding-block:18px;gap:15px 0}
  .promise{font-size:9px;line-height:1.5}
  .section{padding-block:42px}
  .section-top{gap:15px;margin-bottom:23px}
  .section-top h2{font-size:clamp(30px,8.5vw,36px)}
  .section-top .eyebrow{font-size:8.5px;letter-spacing:.14em}

  /* The category rail can be swiped; the product collection keeps two columns. */
  .categories{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(148px,42vw);gap:12px;margin-inline:calc(var(--app-gutter)*-1);padding:0 var(--app-gutter) 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--app-gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .categories::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}
  .category{display:block;min-width:0;scroll-snap-align:start}
  .category-visual{width:100%;height:auto;aspect-ratio:1.15;border-radius:15px;background:#eee8dd}
  .category-index{font-size:7px;top:10px;left:10px}
  .category-bottom{margin-top:12px;display:block}
  .category h3{font-size:23px;line-height:1.1}
  .category small{font-size:10px;line-height:1.5;margin-top:7px}
  .category .circle-arrow{display:none}
  .collection-section{padding-top:12px}
  .collection-toolbar{gap:10px;padding-bottom:13px;margin-bottom:20px}
  .tabs{display:flex;flex-wrap:nowrap;gap:8px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 2px 5px}
  .tab{flex:0 0 auto;min-height:44px;padding:10px 16px;font-size:11px;line-height:1.3;border-radius:14px;touch-action:manipulation}
  .collection-count{font-size:10px}
  .filter-panel{width:100%;min-width:0;gap:10px}
  .filter-panel .input-wrap{min-width:0;flex-basis:100%;width:100%}
  .filter-panel .input-wrap input{width:100%;font-size:16px;min-height:46px;border-radius:12px}
  .filter-select{flex:1;max-width:100%;min-width:0;min-height:46px;font-size:16px;border-radius:12px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 12px}
  .product-card{border:1px solid #e1e3d9;border-radius:16px;overflow:hidden;background:#fcfbf7}
  .product-img-wrap{aspect-ratio:.99;border-radius:15px 15px 0 0}
  .product-label{font-size:7px;left:8px;top:9px;letter-spacing:.02em;padding:4px 6px;border-radius:5px}
  .product-add{width:44px;height:44px;right:9px;bottom:9px;border:1px solid #f2f2e9;box-shadow:0 3px 13px #22392e13;touch-action:manipulation}
  .product-add .icon{width:19px;height:19px}
  .product-info{padding:12px 10px 0;gap:5px}
  .product-info h3{font-size:24px}
  .product-info p{font-size:10px;line-height:1.5;max-width:none}
  .product-finish{padding-top:8px}
  .product-meta{font-size:9px;line-height:1.5;margin-top:7px;padding:0 10px 12px}
  .collection-note{font-size:10px;line-height:1.7}
  .custom-picture{margin-inline:calc(var(--app-gutter)*-1)}
  .product-main-image{border-radius:18px}
  .product-description h1{font-size:46px}
  .quantity-row .btn,.quantity-field{min-height:48px;border-radius:12px}
  .quantity-field{font-size:16px;width:74px}
  .swatch{min-height:44px;padding:6px 8px;font-size:11px;border:1px solid var(--line);border-radius:10px}
  .site-footer{padding-bottom:18px}
  .footer-col a{min-height:34px;display:flex;align-items:center;margin-bottom:3px}
  .toast{bottom:calc(var(--app-nav-height) + var(--app-safe-bottom) + 12px);font-size:12px;border-radius:12px;padding:12px 18px}

  /* Native dialogs remain in charge of focus, Escape and modal behavior. */
  .dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .dialog[open]{z-index:100}
  .dialog-header{gap:12px}
  .dialog-header h2{font-size:28px;line-height:1.15;min-width:0}
  .dialog-header .icon-btn{width:44px;height:44px;min-width:44px;flex-shrink:0;border:1px solid #dce2d4;border-radius:14px;background:#f3f3eb}
  .dialog-header .icon-btn .icon{width:20px;height:20px}
  .dialog-body{padding:21px var(--app-gutter) calc(25px + var(--app-safe-bottom));min-width:0}
  .dialog-intro{font-size:13px;line-height:1.7}
  #quote-dialog,#search-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow-x:hidden;overflow-y:auto;background:var(--paper)}
  #quote-dialog .dialog-header,#search-dialog .dialog-header{position:sticky;top:0;z-index:3;padding:calc(12px + var(--app-safe-top)) var(--app-gutter) 12px;min-height:calc(72px + var(--app-safe-top));background:rgba(248,246,241,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  #quote-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}
  #quote-dialog .form-field{min-width:0;font-size:12px;gap:7px}
  #quote-dialog .field{font-size:16px;min-width:0;min-height:46px;padding:11px 12px;border-radius:11px}
  #quote-dialog .form-field .field{width:100%}
  #quote-dialog textarea.field{min-height:112px}
  #quote-dialog .form-note{font-size:11px;line-height:1.75}
  #quote-dialog .btn{min-height:48px;border-radius:12px;font-size:12px}
  #quote-dialog .quote-item{gap:9px;min-width:0;padding-block:13px}
  #quote-dialog .quote-item img{width:43px;height:48px;flex-shrink:0;border-radius:9px;object-fit:contain;background:var(--warm)}
  #quote-dialog .quote-item-body{min-width:0;flex:1}
  #quote-dialog .quote-item-name{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
  #quote-dialog .quote-item-info{font-size:10px}
  #quote-dialog .quote-item .field{width:57px;min-width:57px;padding:8px 3px;flex-shrink:0}
  #quote-dialog .quote-item .icon-btn{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--sage);font-size:23px}
  #quote-dialog .quote-empty{font-size:12px;padding:17px;border-radius:13px;line-height:1.7}
  #quote-dialog .quote-result pre{font-size:12px;border-radius:12px;padding:16px;max-height:340px}
  #quote-dialog .quote-result .btn-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #quote-dialog .quote-result .btn{min-width:0;padding-inline:10px}
  #search-dialog .search-field{min-height:52px;font-size:16px;border-radius:14px;background:#fffdf8}
  #search-dialog .search-hint{font-size:11px;margin-block:17px}
  #search-dialog .search-result{gap:13px;padding-block:15px;min-height:88px}
  #search-dialog .search-result img{width:62px;height:62px;border-radius:12px;object-fit:contain}
  #search-dialog .search-result>span{min-width:0}
  #search-dialog .search-result>span:last-child{flex:0 0 20px;text-align:right}
  #search-dialog .search-result strong{font-size:15px}
  #search-dialog .search-result small{font-size:12px}

  /* Catalogue and contact use shorter bottom sheets. */
  #catalog-dialog,#contact-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:min(86dvh,740px);margin:0;padding:0;border:0;border-top:1px solid #dce2d3;border-radius:24px 24px 0 0;overflow-x:hidden;overflow-y:auto}
  #catalog-dialog .dialog-header,#contact-dialog .dialog-header{position:sticky;top:0;z-index:3;padding:24px var(--app-gutter) 12px;border-radius:24px 24px 0 0}
  #catalog-dialog .dialog-header::before,#contact-dialog .dialog-header::before{content:"";position:absolute;top:9px;left:calc(50% - 18px);width:36px;height:4px;background:#c4ceba;border-radius:4px}
  #catalog-dialog[open],#contact-dialog[open]{animation:app-sheet-enter .18s ease-out}
  .app-catalog-grid{display:grid;grid-template-columns:1fr;gap:10px}
  .app-catalog-card{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;align-items:center;gap:13px;min-height:86px;padding:10px;border:1px solid #e1e5d9;border-radius:15px;background:#fffdf9;text-align:left}
  .app-catalog-card>img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:var(--warm)}
  .app-catalog-card>span{min-width:0}
  .app-catalog-card strong{display:block;font-size:14px;line-height:1.4;font-weight:500;color:var(--ink)}
  .app-catalog-card small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}
  .app-catalog-card>.icon{width:18px;height:18px;color:#78866b}
  .app-contact-actions{display:grid;gap:10px}
  .app-contact-link{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:14px 15px;border:1px solid #e0e5d8;border-radius:14px;background:#fffdf9;text-align:left}
  .app-contact-link>.icon{width:23px;height:23px;color:var(--ink)}
  .app-contact-link>span{min-width:0;flex:1}
  .app-contact-link strong{display:block;font-size:14px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
  .app-contact-link small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
  .app-contact-note{font-size:12px;line-height:1.75;color:var(--muted);margin-top:18px}
  @keyframes app-sheet-enter{from{transform:translateY(22px);opacity:.6}to{transform:translateY(0);opacity:1}}
}

@media(max-width:370px){
  .site-header .brand{gap:6px}
  .site-header .brand-word{font-size:16px}
  .site-header .brand-mark{width:22px;height:32px}
  .site-header .brand-tag{font-size:5.5px;letter-spacing:.18em}
  .header-actions{gap:0}
  .hero-copy h1{font-size:42px}
  .hero-copy .btn{font-size:10px;padding-inline:7px;gap:6px}
  .hero-copy .text-link{font-size:10px;gap:5px}
  .hero-meta{font-size:8px;gap:8px}
  .hero-img{height:280px}
  .product-finish{display:none}
  .product-info h3{font-size:23px}
  .product-info p{font-size:9.5px}
  .app-nav-label{font-size:9.5px}
  #quote-dialog .form-grid{grid-template-columns:1fr}
  #quote-dialog .form-field.full{grid-column:auto}
  #quote-dialog .quote-item{gap:7px}
  #quote-dialog .quote-item img{width:36px;height:43px}
  #quote-dialog .quote-item-name{font-size:11px}
  #quote-dialog .quote-item .field{width:51px;min-width:51px}
  .app-catalog-card{grid-template-columns:55px minmax(0,1fr) 17px;gap:10px}
  .app-catalog-card>img{width:55px;height:59px}
  .app-catalog-card strong{font-size:13px}
}

@media(prefers-reduced-motion:reduce){
  .app-nav-icon,.app-nav-item>.icon{transition:none}
  #catalog-dialog[open],#contact-dialog[open]{animation:none}
}
@media print{.mobile-app-nav{display:none!important}body{padding-bottom:0}}
