/* Cross-page responsive guardrails. Loaded last; no business-flow reordering. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}body{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}input,select,textarea,button{max-width:100%}table{max-width:100%}.giso-main{min-width:0}.giso-main :is(.giso-container,.giso-shop-shell,.mkt-content,.bc-shell){min-width:0}.giso-main :is(.giso-card,.giso-glass,.mkt-card,.bc-card,.giso-product-card){min-width:0}.giso-main :is(h1,h2,h3,p,a,span){overflow-wrap:anywhere}
.giso-main .giso-product-card :is(h3,p,a,span,strong,small){overflow-wrap:break-word;word-break:normal}
.giso-main .giso-product-title,.giso-main .giso-product-title a,.giso-main .giso-product-desc{word-break:normal;overflow-wrap:break-word;overflow:hidden;max-width:100%}
.giso-main .giso-product-image{position:relative;overflow:hidden}
.giso-main .giso-product-image img{height:100%;width:100%;max-width:none;object-fit:cover;font-size:0;color:transparent}
/* Shared navigation in every theme */
@media(max-width:900px){.giso-navbar>.giso-container{min-height:66px;padding:8px 15px!important;display:flex!important;flex-wrap:nowrap!important}.giso-brand-logo{min-width:0}.giso-brand-text-block{min-width:0}.giso-brand-title,.giso-brand-tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.giso-menu-btn{display:flex!important;flex:0 0 42px;align-items:center;justify-content:center}.giso-nav-links{position:fixed!important;top:66px!important;right:12px!important;left:12px!important;width:auto!important;max-height:calc(100svh - 80px)!important;overflow-y:auto!important;overscroll-behavior:contain;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;padding:12px!important;border-radius:0 0 18px 18px!important;background:rgba(255,253,249,.98)!important;border:1px solid rgba(137,96,35,.2)!important;box-shadow:0 20px 45px rgba(45,30,15,.18)!important;z-index:1200!important}.giso-nav-links.active{display:flex!important}.giso-nav-links>a,.giso-nav-links>.giso-btn{width:100%!important;min-height:44px!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;padding:9px 12px!important}.giso-user{padding:6px 12px}.giso-bell-wrap{align-self:flex-start;margin:4px 10px}}
@media(max-width:420px){.giso-brand-tagline{display:none}.giso-brand-title{max-width:145px;font-size:.9rem}.giso-brand-img{width:38px!important;height:38px!important}}
/* Hair sale */
@media(max-width:900px){.giso-hair-phase1 :is(.giso-hero-grid,.giso-hair-layout,.giso-market-detail-grid,.giso-market-action-grid){grid-template-columns:1fr!important}.giso-hair-phase1 .giso-container{width:min(100% - 24px,1100px)!important;padding-inline:0!important}.giso-hair-stepper-shell{overflow-x:auto}.giso-hair-stepper{min-width:max-content}.giso-photo-examples,.giso-result-factors,.giso-sale-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.giso-hair-phase1 :is(.giso-photo-examples,.giso-result-factors,.giso-sale-path-grid,.giso-form-row){grid-template-columns:1fr!important}.giso-hair-phase1 :is(.giso-card,.giso-hair-photo-step-card,.giso-price-proposal-panel){padding:16px!important}.giso-hair-phase1 .giso-btn{width:100%}.giso-hair-phase1 h1{font-size:clamp(1.55rem,8vw,2.2rem)!important}}
/* Marketplace public/list/detail/chat */
@media(max-width:900px){.giso-market-list-page :is(.mkt-hero,.mkt-content){width:100%!important}.giso-market-list-page .mkt-content{padding-inline:14px!important}.giso-market-list-page :is(.mkt-search-row,.mkt-browser,.giso-market-detail-layout,.giso-market-detail-grid,.giso-market-action-grid){grid-template-columns:1fr!important}.giso-market-list-page .mkt-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.giso-market-detail-layout{grid-template-columns:1fr!important}.mkt-search{width:100%}}
@media(max-width:600px){.giso-market-list-page .mkt-grid{grid-template-columns:1fr!important}.giso-market-list-page .mkt-slider{grid-auto-columns:minmax(245px,86vw)!important}.mkt-hero-ctas,.mkt-search-row{flex-direction:column}.mkt-hero-ctas .giso-btn{width:100%}.giso-market-detail-grid,.giso-market-action-grid,.giso-market-specs{grid-template-columns:1fr!important}.marketplace-chat-shell{width:100%!important;padding-inline:12px!important}}
/* Shop catalog, product, basket and checkout */
@media(max-width:900px){.giso-shop-wrap :is(.giso-smart-hero,.giso-shop-hero,.giso-catalog-layout,.giso-product-detail,.giso-cart-layout){grid-template-columns:1fr!important}.giso-shop-wrap :is(.giso-shop-shell,.giso-shop-hero,.giso-smart-hero){width:calc(100% - 20px)!important}.giso-shop-wrap .giso-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.giso-shop-sidebar{position:static!important;max-height:none!important}.giso-shop-toolbar{top:68px!important}}
@media(max-width:600px){.giso-shop-wrap .giso-products-grid{grid-template-columns:1fr!important}.giso-shop-wrap .giso-products-rail{grid-auto-columns:minmax(235px,84vw)!important}.giso-shop-wrap :is(.giso-shop-hero-actions,.giso-detail-actions,.giso-form-actions){display:grid!important;grid-template-columns:1fr!important}.giso-shop-wrap :is(.giso-shop-hero-actions,.giso-detail-actions,.giso-form-actions) .giso-btn{width:100%!important}.giso-cart-item,.giso-drawer-item{min-width:0}.giso-shop-toolbar{top:66px!important}.giso-smart-widget{right:10px!important;left:10px!important;width:auto!important}}
/* Analysis flow/report/plan */
@media(max-width:900px){.giso-analysis-page :is(.giso-analysis-grid,.analysis-grid,.report-grid,.plan-grid),.giso-analysis-shell :is(.giso-analysis-grid,.analysis-grid,.report-grid,.plan-grid){grid-template-columns:1fr!important}.giso-analysis-page,.giso-analysis-shell{width:min(100% - 24px,1100px)!important;margin-inline:auto!important}.giso-analysis-page table,.giso-analysis-shell table{display:block;overflow-x:auto}}
@media(max-width:600px){[class*="analysis"] :is(.giso-btn,button[type="submit"]){max-width:100%}[class*="analysis"] :is(.giso-form-row,.metrics-grid,.routine-grid,.report-metrics){grid-template-columns:1fr!important}.analysis-steps,.giso-analysis-steps{overflow-x:auto;justify-content:flex-start!important}}
/* Beauty centers */
@media(max-width:900px){.bc-shell{width:min(100% - 24px,1180px)!important}.bc-hero-grid,.bc-owner-grid,.bc-detail-grid,.bc-admin-grid{grid-template-columns:1fr!important}.bc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bc-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bc-hero-art{max-width:430px;margin-inline:auto}}
@media(max-width:600px){.bc-grid,.bc-filters{grid-template-columns:1fr!important}.bc-actions{display:grid!important}.bc-actions .bc-btn{width:100%!important}.bc-card,.bc-owner-cta,.bc-analysis-cta{padding:16px!important}.bc-hero h1{font-size:clamp(1.65rem,8vw,2.3rem)!important}}
/* Safer forms/tables across public pages */
@media(max-width:600px){.giso-main :is(.giso-form-row,.form-row){grid-template-columns:1fr!important}.giso-main :is(.giso-table-wrap,.table-responsive){overflow-x:auto;-webkit-overflow-scrolling:touch}.giso-main table{min-width:600px}.giso-main :is(input,select,textarea){font-size:16px}.giso-main :is(.modal,.giso-modal-box){max-width:calc(100vw - 24px)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* =====================================================================
   Fluid public-site shell — shared by every theme and every public page.
   Panels are intentionally excluded and keep their original dimensions.
   ===================================================================== */
:root{--giso-public-shell:min(90vw,1400px);--giso-public-gutter:clamp(14px,2.2vw,34px)}
body:not(.pnl-body):not(.pu-body) .giso-navbar>.giso-container{
  width:var(--giso-public-shell)!important;max-width:1400px!important;margin-inline:auto!important;
  padding-inline:var(--giso-public-gutter)!important;flex-wrap:nowrap;
}
body:not(.pnl-body):not(.pu-body) .giso-main :is(
  .giso-container,.mkt-content,.giso-shop-shell,.giso-shop-hero,.giso-smart-hero,
  .bc-shell,.giso-market-chat-shell,.giso-market-detail-shell
){width:var(--giso-public-shell)!important;max-width:1400px!important;margin-inline:auto!important}
/* Home sections can grow with the monitor; paragraphs retain readable lines. */
body:not(.pnl-body):not(.pu-body) .giso-main .home-main .giso-container{width:var(--giso-public-shell)!important;max-width:1400px!important}
body:not(.pnl-body):not(.pu-body) :is(.home-hero-lead,.home-section-head,.mkt-hero-sub,.bc-hero p,.giso-section-subtitle){max-width:min(100%,820px)}
/* Adaptive type/spacing without uncontrolled scaling. */
body:not(.pnl-body):not(.pu-body) .giso-main h1{font-size:clamp(1.7rem,2.1vw + .45rem,3.25rem)}
body:not(.pnl-body):not(.pu-body) .giso-main h2{font-size:clamp(1.25rem,1.25vw + .5rem,2.25rem)}
body:not(.pnl-body):not(.pu-body) .giso-main :is(p,li,td,th,label){line-height:1.9}
/* Public tables use available space and remain safe on narrow viewports. */
body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-table-wrap,.table-responsive){width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body:not(.pnl-body):not(.pu-body) .giso-main table{width:100%;table-layout:auto}
body:not(.pnl-body):not(.pu-body) .giso-main :is(td,th){padding:clamp(8px,1vw,14px);overflow-wrap:anywhere}
/* Grids consume the shell instead of remaining laptop-sized. */
body:not(.pnl-body):not(.pu-body) .giso-main :is(.mkt-grid,.giso-products-grid,.bc-grid){width:100%;max-width:none}
@media(min-width:1500px){
 body:not(.pnl-body):not(.pu-body) .giso-main .mkt-grid{grid-template-columns:repeat(4,minmax(240px,1fr))}
 body:not(.pnl-body):not(.pu-body) .giso-main .giso-products-grid{grid-template-columns:repeat(4,minmax(240px,1fr))}
 body:not(.pnl-body):not(.pu-body) .giso-main .bc-grid{grid-template-columns:repeat(4,minmax(240px,1fr))}
}
/* Switch before links become crowded; every mobile option is a clear card. */
@media(max-width:1100px){
 body:not(.pnl-body):not(.pu-body) .giso-navbar>.giso-container{min-height:66px!important;padding-block:7px!important}
 body:not(.pnl-body):not(.pu-body) .giso-menu-btn{display:flex!important;align-items:center;justify-content:center;flex:0 0 42px}
 body:not(.pnl-body):not(.pu-body) .giso-nav-links{position:fixed!important;top:66px!important;right:12px!important;left:12px!important;width:auto!important;max-height:calc(100dvh - 80px)!important;overflow-y:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:12px!important;border:1px solid rgba(139,90,43,.2)!important;border-radius:0 0 18px 18px!important;background:rgba(255,253,249,.985)!important;box-shadow:0 20px 45px rgba(45,30,15,.18)!important;z-index:1200!important}
 body:not(.pnl-body):not(.pu-body) .giso-nav-links.active{display:flex!important}
 body:not(.pnl-body):not(.pu-body) .giso-nav-links>a,
 body:not(.pnl-body):not(.pu-body) .giso-nav-links>.giso-btn{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:48px!important;padding:11px 14px!important;border:1px solid rgba(139,90,43,.14)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 10px rgba(70,45,20,.035)!important;color:#4f3827!important;font-size:.96rem!important}
 body:not(.pnl-body):not(.pu-body) .giso-nav-links>a[aria-current="page"]{border-color:var(--gold,#d4af37)!important;background:#fff8e8!important}
 body:not(.pnl-body):not(.pu-body) .giso-nav-links .giso-user{padding:8px 12px}
 body:not(.pnl-body):not(.pu-body) .giso-bell-wrap{align-self:flex-start;margin:4px 10px}
}
@media(max-width:760px){
 :root{--giso-public-shell:calc(100vw - 20px);--giso-public-gutter:10px}
 body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-container,.mkt-content,.giso-shop-shell,.bc-shell){padding-inline:0!important}
 body:not(.pnl-body):not(.pu-body) .giso-main table{min-width:640px}
 body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-btn,.bc-btn,.mkt-cta-btn){min-height:48px}
}

/* Standard Giso sizing scale: balanced rather than narrow or edge-to-edge. */
body:not(.pnl-body):not(.pu-body){--giso-page-wide:min(90vw,1400px);--giso-page-form:min(90vw,1100px);--giso-page-reading:min(90vw,800px)}
/* Data-rich/catalog pages use the wide shell. */
body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-market-list-page,.giso-shop-wrap,.bc-page,.giso-market-page){max-width:none;width:100%}
/* Forms and focused flows stay readable instead of stretching with the shell. */
body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-narrow,.ahs-flow-page,.giso-auth-wrapper,.bc-form-shell){width:var(--giso-page-form)!important;max-width:1100px!important;margin-inline:auto!important}
/* Long prose always keeps a readable line length. */
body:not(.pnl-body):not(.pu-body) .giso-main :is(.giso-section-intro,.mkt-disclaimer p,.bc-disclaimer span,article>p){max-inline-size:800px}
@media(max-width:1100px){body:not(.pnl-body):not(.pu-body){--giso-page-wide:calc(100vw - 32px);--giso-page-form:calc(100vw - 32px);--giso-page-reading:calc(100vw - 32px)}}
@media(max-width:760px){body:not(.pnl-body):not(.pu-body){--giso-page-wide:calc(100vw - 20px);--giso-page-form:calc(100vw - 20px);--giso-page-reading:calc(100vw - 20px)}}
