:root{--fr-public-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fr-public-gold:#d6b369;--fr-public-text:#171717;--fr-public-muted:#6f6f73}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:hidden}
html body{max-width:100%;overflow-x:hidden;font-family:var(--fr-public-font);color:var(--fr-public-text)}
button,input,select,textarea{font:inherit}
img,svg,video,canvas{max-width:100%}
input,select,textarea{min-width:0;max-width:100%}
.fr-navbar,.main-footer,.fr-nav-overlay{font-family:var(--fr-public-font)}
.fr-navbar a,.main-footer a{text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:3px solid rgba(214,179,105,.55);outline-offset:3px}
.fr-navbar-inner,.footer-grid{width:min(100% - 32px,1200px);max-width:1200px}
.fr-nav-left{min-width:0}.fr-brand{flex:0 1 auto}.fr-nav-links{min-width:0}
.fr-nav-toggle{min-width:46px;min-height:46px;align-items:center;justify-content:center;line-height:1}
.fr-nav-overlay{overflow-y:auto;padding:72px 18px 24px}.fr-nav-overlay-box{margin:auto}
@media(max-width:700px){.fr-navbar-inner{min-width:0}.fr-brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-footer{overflow:hidden}.footer-grid{min-width:0}.footer-col{min-width:0}.footer-col a,.footer-col p{overflow-wrap:anywhere}input,select,textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared public layout rhythm */
.fr-container{width:min(100% - 36px,1200px)!important;max-width:1200px!important;margin-inline:auto!important}
.home-section,.section,.category-block,.contact-info,.form-box,.tr-card,.tr-search-box{min-width:0}
.home-title,.products-hero h1,.contact-hero h1,.about-hero h1,.faq-hero h1{font-family:var(--fr-public-font)!important;font-weight:900!important;letter-spacing:-.045em!important;line-height:1.02!important;text-wrap:balance}
.home-subtitle,.products-hero p,.contact-hero p,.about-hero p,.faq-hero p{color:var(--fr-public-muted);line-height:1.65;text-wrap:pretty}
.product-card,.hero-cta-card,.form-box,.contact-info,.faq-item,.tr-card,.tr-search-box{border:1px solid #e8e3db!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 34px rgba(34,28,19,.06)!important}
.home-btn,.btn-main,.cta,.tr-btn,.product-action,.qty-btn,.remove-btn{min-height:46px;border-radius:13px!important;font-weight:850!important}
.btn-main,.home-btn-primary,.cta,.product-action{border-color:var(--fr-public-gold)!important;background:var(--fr-public-gold)!important;color:#171717!important}
.form-group label,.tr-label{display:block;margin-bottom:6px;color:#5f5f63;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea,.tr-input{width:100%!important;min-height:52px;border:1px solid #ddd7cd!important;border-radius:14px!important;background:#fff!important;color:#171717!important;padding:12px 14px!important;box-shadow:none!important}
.form-group textarea{min-height:120px;resize:vertical}
.faq-question{min-height:60px;padding:16px 18px!important;font-weight:850}.faq-answer{padding:0 18px 18px!important;color:#5f5f63;line-height:1.65}
.main-footer{margin-top:clamp(50px,8vw,100px)}

@media(max-width:700px){
  .fr-container{width:min(100% - 24px,1200px)!important}
  .home-section,.section,.products-hero,.contact-hero,.about-hero,.faq-hero{padding-left:0!important;padding-right:0!important}
  .home-title,.products-hero h1,.contact-hero h1,.about-hero h1,.faq-hero h1{font-size:clamp(2rem,10vw,3rem)!important;overflow-wrap:normal!important;word-break:normal!important}
  .home-subtitle,.products-hero p,.contact-hero p,.about-hero p,.faq-hero p{font-size:15px!important;line-height:1.55!important}
  .home-hero-grid,.hero-cta-grid,.products-grid,.product-grid,.tr-grid{grid-template-columns:minmax(0,1fr)!important}
  .product-card,.hero-cta-card,.form-box,.contact-info,.faq-item,.tr-card,.tr-search-box{width:100%!important;max-width:100%!important;border-radius:16px!important}
  .product-img{width:100%!important;max-width:100%!important;object-fit:cover}
  .form-group input,.form-group select,.form-group textarea,.tr-input{font-size:16px!important}
  .modal-box,.product-modal{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important}
  .main-footer{margin-top:54px;padding-left:12px!important;padding-right:12px!important}
  .fr-navbar-inner{width:100%;padding:12px 16px;gap:12px}
  .fr-nav-left{width:100%;gap:12px}.fr-brand{font-size:18px;line-height:1.15}
  .fr-nav-toggle{display:inline-flex;flex:0 0 46px}
  .footer-grid{width:100%;padding:34px 12px;gap:28px}
}

/* Transaction and preference pages keep their purpose-built panels but share the public type scale. */
.payment-action-page,.marketing-preferences-page{font-family:var(--fr-public-font)}

/* Guard against legacy fixed-width children without changing print-only layouts. */
@media screen{
  body>main,body>section{max-width:100%}
  .home-hero-grid>*,.hero-cta-grid>*,.products-grid>*,.product-grid>*,.tr-grid>*{min-width:0}
}
