/* Mobile refinements, including Safari safe areas and touch-sized controls. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-navigation{display:contents}
.mobile-menu-toggle,.mobile-share{display:none}
@media(max-width:760px){
  html{scroll-padding-top:92px}
  body{overflow-wrap:break-word}
  main,section,.section-head>*,.sim-layout>*,.material-card-content{min-width:0}
  header.mobile-ready{height:auto;min-height:76px;display:flex;flex-wrap:nowrap;gap:12px;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));isolation:isolate}
  header.mobile-ready>.brand{width:150px;max-width:55%;margin-right:auto}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--line);background:transparent;font-size:14px}
  .menu-lines{width:17px;height:12px;border-top:1px solid;border-bottom:1px solid;position:relative}
  .menu-lines:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:1px solid}
  header.mobile-ready .mobile-navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);padding:10px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--line);box-shadow:0 18px 22px #26272218}
  header.mobile-ready.menu-open .mobile-navigation{display:block}
  header.mobile-ready nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:0;margin:0;width:100%;overflow:visible;white-space:normal}
  header.mobile-ready nav a{display:flex;align-items:center;min-height:52px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
  header.mobile-ready .header-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin:16px 0 0}
  header.mobile-ready .account-link{font-size:14px;min-height:48px;display:flex;align-items:center;white-space:normal}
  header.mobile-ready .languages{font-size:13px;gap:4px;grid-column:2;grid-row:1}
  header.mobile-ready .languages a{min-width:44px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  header.mobile-ready .languages span{display:none}
  header.mobile-ready .selection{font-size:14px;min-height:48px;text-align:left;padding:4px 0}
  header.mobile-ready .header-actions .social-icons{display:flex;justify-content:flex-end;grid-row:2;grid-column:2;gap:4px}
  .social-icons a{min-width:44px;min-height:44px}
  .mobile-share{display:block;grid-column:1/-1;border:1px solid var(--line);background:transparent;font-size:14px;min-height:48px;margin-top:8px}
  .demo{font-size:10px;padding:8px 20px;line-height:1.5}
  .hero{min-height:560px;max-height:none;height:auto}
  .hero h1{font-size:clamp(44px,12vw,64px)}
  .hero-copy{padding:54px 6% 115px}
  .hero-copy .eyebrow{font-size:10px;max-width:28em}
  .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.65}
  .hero-actions{gap:10px}
  .hero-actions .button{width:100%;max-width:340px}
  .hero-bottom{font-size:9px;left:6%;right:6%;bottom:22px}
  .section{padding:44px max(20px,env(safe-area-inset-right)) 44px max(20px,env(safe-area-inset-left))}
  .page-title{font-size:clamp(34px,9vw,48px)}
  .section-head{gap:16px;margin-bottom:26px}
  .section-head>p{font-size:14px}
  .button,.text-button,.link{min-height:48px;font-size:14px}
  .button{gap:18px;padding:14px 18px;line-height:1.5;white-space:normal}
  .link{display:inline-flex;align-items:center;line-height:1.5}
  input:not([type=checkbox]):not([type=range]),select,textarea,.search input,.filters input,.filters select,form input,form select,form textarea,.account-card input,.image-fields input,.project-editor input,.project-editor textarea,.project-editor select{font-size:16px}
  input:not([type=checkbox]):not([type=range]),select{min-height:48px}
  form label,.filters label,.account-card label{font-size:13px;line-height:1.5}
  form small,.notice{font-size:12px}
  .consent{padding:8px 0;min-height:48px}
  .consent input{width:22px!important;height:22px!important}
  .tabs,.family-tabs{min-width:0;max-width:100%;overflow-x:auto;justify-content:flex-start;gap:20px;white-space:nowrap}
  .tabs button,.family-tabs button{flex-shrink:0;min-height:48px;font-size:14px}
  .grid{gap:24px 12px}
  .card-info h3{font-size:22px;line-height:1.2}
  .card-info .spec,.price-access{font-size:12px}
  .card-actions button{min-height:44px;font-size:13px}
  .card-actions button:last-child{min-width:44px;font-size:23px}
  .material-card{grid-template-columns:1fr}
  .material-card>.swatch{aspect-ratio:1.65;min-height:0}
  .material-card-content{padding:24px}
  .material-card p:not(.eyebrow){font-size:14px}
  .material-card .application{font-size:12px}
  .material-card a,.material-card button{min-height:44px;display:flex;align-items:center;font-size:14px;line-height:1.5;margin-top:10px}
  .simulator .section-head>p{display:none}
  .simulator .family-tabs{gap:8px;padding-bottom:8px}
  .simulator .family-tabs button{padding:12px 15px;border:1px solid var(--line);font-size:13px}
  .simulator .family-tabs button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .sim-layout{grid-template-columns:minmax(0,1fr);margin-top:16px}
  .sim-view{width:100%;aspect-ratio:3/2}
  .sim-controls #simMaterials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;padding:2px}
  .sim-material{min-width:0;font-size:13px;line-height:1.4;gap:8px;min-height:64px;padding:8px}
  .sim-material .swatch{width:40px;height:40px}
  .sim-controls>label{font-size:14px;max-width:none;margin:20px 0 8px}
  .sim-controls input[type=range]{width:100%;height:44px;margin:0}
  .sim-controls .button{display:flex;width:100%;margin:0 0 10px}
  .sim-tools{margin-top:2px}
  .sim-disclaimer{font-size:12px;line-height:1.6;margin-top:6px}
  dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:54px 20px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  dialog .close{width:44px;height:44px;top:6px;right:8px;background:var(--paper)}
  .detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .detail-layout .swatch{aspect-ratio:1.5}
  .detail-layout dl div{gap:16px}
  .detail-layout dd{text-align:right}
  .project-stage{margin-left:0;margin-right:0}
  .project-stage>img{max-height:60dvh}
  .project-caption>p:not(.eyebrow){font-size:13px}
  .project-detail-actions{display:grid;gap:8px}
  .project-filmstrip{scroll-snap-type:x proximity}
  .project-filmstrip button{scroll-snap-align:start}
  .location-card{padding:20px}
  .location-map{height:260px}
  .location-card h3{font-size:28px}
  footer{padding-bottom:max(30px,env(safe-area-inset-bottom))}
  .footer-right{align-items:flex-start;justify-content:flex-start;gap:8px 18px;font-size:12px}
  .footer-right>a{display:flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
  .footer-right>.social-icons,.footer-right>span{width:100%}
  .toast{bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.filters{grid-template-columns:minmax(0,1fr)}.sim-controls #simMaterials{grid-template-columns:minmax(0,1fr)}.card-info h3{font-size:20px}.sim-material{min-height:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none!important}.admin-tabs{flex-wrap:wrap}.admin-image{max-width:100%}.admin-body .form-row{flex-wrap:wrap}#catalogEditors input,#catalogEditors textarea{max-width:100%}.account-card details{margin-top:24px}.account-card summary{cursor:pointer;padding:12px 0}.account-card #adminAccess{margin:12px 0}@media(max-width:760px){.admin-shell{padding:20px 14px}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-actions button{min-height:44px}.admin-tabs button{min-height:44px}#catalogEditors .form-row{display:grid;grid-template-columns:1fr}.price-editor{display:flex;flex-direction:column}.admin-body header{flex-wrap:wrap;padding:16px;gap:12px}.admin-image{min-height:180px}}
/* Shared touch controls and explicit icons, including Safari. */
button,input[type=button],input[type=submit]{-webkit-appearance:none;appearance:none;border-radius:0;font-family:inherit;color:inherit;touch-action:manipulation}
button{cursor:pointer}button:disabled{cursor:default;opacity:.5}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #9e7845;outline-offset:3px}
.ui-arrow{display:inline-block;width:1.1em;height:1.1em;min-width:1.1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;overflow:visible;flex-shrink:0}
select{-webkit-appearance:none;appearance:none;border-radius:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23403a30' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:40px!important}
#materialPicker{width:min(980px,calc(100% - 32px));max-height:90dvh}#materialPicker h2{margin-top:0}#materialPicker label{display:grid;gap:8px;font-size:14px;margin:12px 0}#materialPicker input,#materialPicker select{width:100%;padding:12px;border:1px solid var(--line);background-color:var(--paper);font:inherit}#materialPicker .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.picker-tabs,.picker-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.picker-tabs button,.picker-pagination button,.favorite-material{padding:10px 14px;min-height:44px;border:1px solid var(--line);background:transparent}.picker-tabs [aria-pressed=true],.favorite-material[aria-pressed=true]{background:var(--ink);color:var(--paper)}.picker-pagination{justify-content:center}.material-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.picker-material{min-width:0;border:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px}.pick-material{width:100%;padding:0;background:transparent;border:0;text-align:left;flex:1}.pick-material[aria-pressed=true]{outline:2px solid #9e7845;outline-offset:2px}.pick-material .swatch{display:block;aspect-ratio:4/3;width:100%;height:auto}.pick-material strong,.pick-material small{display:block;margin:8px 4px;overflow-wrap:anywhere}.favorite-material{font-size:12px;width:100%}.sim-controls #simMaterials{display:block;max-height:none;overflow:visible}.sim-controls #openMaterialPicker{width:100%;margin:12px 0}.sim-controls #simConsult{white-space:normal;text-align:left;line-height:1.5}.sim-material strong{overflow-wrap:anywhere}
@media(max-width:760px){#materialPicker{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:52px 16px max(20px,env(safe-area-inset-bottom))}.material-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#materialPicker .form-row{gap:10px}#materialPicker input,#materialPicker select{font-size:16px}.picker-tabs{gap:8px}.picker-tabs button{flex:1;padding:10px 8px}.picker-material strong{font-size:14px}.pick-material small{font-size:12px}.favorite-material{font-size:13px}.sim-controls #simMaterials{display:block}.gallery-arrow{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.admin-body input,.admin-body textarea,.admin-body select{font-size:16px}.customer-record .actions{display:flex;flex-wrap:wrap;gap:10px}.customer-record button{min-height:44px}}

.gallery-arrow{display:flex;align-items:center;justify-content:center;line-height:1}.gallery-arrow .ui-arrow{width:22px;height:22px}

.gallery-arrow{border-radius:50%;box-shadow:0 2px 8px #0002;-webkit-tap-highlight-color:transparent}.gallery-arrow:active{background:#e4dfd3}

.pick-material [data-thumb]{background-size:cover;background-position:center;background-color:#ded8cc}

/* Contact link remains reachable without covering the mobile navigation or dialogs. */
.whatsapp-chat{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:10px 18px 10px 12px;border-radius:28px;background:#146c42;color:#fff;text-decoration:none;font:500 14px/1.3 Arial,sans-serif;box-shadow:0 4px 20px #0003;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.whatsapp-chat svg{width:30px;height:30px;flex-shrink:0}.whatsapp-chat:hover{background:#0c5834}.whatsapp-chat:focus-visible{outline:3px solid #c79e5e;outline-offset:4px}body:has(.whatsapp-chat) footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.contact-delivery-note{font-size:13px;line-height:1.6;color:var(--ink)}body:has(.whatsapp-chat) .toast{bottom:calc(88px + env(safe-area-inset-bottom))}@media(max-width:760px){.whatsapp-chat{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;padding:8px 15px 8px 10px;font-size:13px}.whatsapp-chat svg{width:28px;height:28px}}

.environment-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;padding:12px 0}.environment-controls summary{font-size:16px;cursor:pointer;min-height:44px;display:flex;align-items:center}.environment-controls label{display:grid;gap:8px;margin:12px 0;font-size:14px}.environment-controls select{width:100%;min-height:44px;background-color:var(--paper);border:1px solid var(--line);padding:10px;font:inherit}.environment-controls input[type=color]{width:100%;height:48px;padding:4px;border:1px solid var(--line);background:transparent}.environment-controls .muted{font-size:12px;line-height:1.6}.environment-controls .link{text-align:left}@media(max-width:760px){.environment-controls select{font-size:16px}}

/* Keep the entire room visible above the permanent branding band. */
.sim-view{aspect-ratio:1536/1240}.sim-view canvas{display:block;width:100%;height:auto}

.sim-view canvas{aspect-ratio:1536/1240}

/* Stable placeholders instead of a different design during initialization. */
.content-pending [data-image]:not(img){background-image:none!important}
.content-pending img[data-image]:not(.brand img){visibility:hidden}
.content-pending .hero{background-color:#363830}
.sim-view[aria-busy="true"]{opacity:1}
.sim-view[aria-busy="true"]:after{content:"Actualizando vista…";position:absolute;left:12px;top:12px;padding:8px 12px;background:#f7f6f2ed;color:#262722;border-radius:4px;font-size:13px;pointer-events:none}
html[lang="en"] .sim-view[aria-busy="true"]:after{content:"Updating preview…"}
header nav{gap:clamp(12px,1.8vw,26px)}
.stock-group-count{font-size:13px;margin:8px 0;color:var(--muted)}
.stock-group-list{display:grid;gap:12px;margin:24px 0;max-height:60vh;overflow:auto}
.stock-group-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:12px;background:transparent;border:1px solid var(--line);font:inherit}
.stock-group-item img{width:80px;height:65px;object-fit:cover;background:#e5e1d8}
.stock-group-item strong,.stock-group-item small{display:block;overflow-wrap:anywhere}
.stock-group-item small{margin-top:6px;color:var(--muted)}
@media(max-width:500px){.stock-group-item{grid-template-columns:60px minmax(0,1fr);gap:12px}.stock-group-item img{width:60px;height:60px}.stock-group-item>span:last-child{grid-column:2}}

@media(min-width:761px){header [data-stock-nav][hidden]{display:inline!important;visibility:hidden;pointer-events:none}.account-link{min-width:86px;text-align:right}}

/* Actual stock piece: photograph first, full-width details below. */
#detail{overflow-x:hidden;overflow-y:auto}
#detail .detail-layout{grid-template-columns:minmax(0,1fr);gap:24px}
#detail .detail-layout>*{min-width:0;max-width:100%}
#detail .stock-detail-photo{display:block;width:100%;height:auto;max-height:60vh;object-fit:contain;background:#e9e6de}
#detail .detail-layout h2{overflow-wrap:anywhere;font-size:clamp(28px,4vw,37px)}
#detail .detail-layout dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
#detail .detail-layout dt,#detail .detail-layout dd{min-width:0;overflow-wrap:anywhere}
#detail .detail-layout dd{text-align:right}
#detail .detail-layout .button{white-space:normal;overflow-wrap:anywhere}
#detail .stock-group-list{min-width:0;overflow-x:hidden}
