/* Shared responsive refinements, after all page-specific styles. */
header .nav-shell,header .factory-brand,.main-nav,.site-stage,.panel,.blog-page{min-width:0}
header .factory-brand{flex-shrink:0}
.home-product-grid>*,.home-benefit-grid>*,.chocolate-products>*,.catalog-album>*,.order-layout>*,.rf-footer-grid>*,.blog-list>*,.blog-article-layout>*{min-width:0}
.product-specs{flex-wrap:wrap;row-gap:12px}
.product-specs>div{min-width:0;max-width:100%}
.product-specs dd,.chocolate-product-info h2,.order-product-name,.catalog-album-caption h2,.rf-contact-line span,.rf-footer-links a,.blog-card h2,.article-heading h1,.blog-article-body,.breadcrumbs,.blog-breadcrumb,#customer-order-summary{overflow-wrap:anywhere}
.rf-contact-line span{min-width:0}
.breadcrumbs{flex-wrap:wrap}
.order-layout input,.order-layout textarea,.order-layout select,.sample-field input,.sample-field select{min-width:0;max-width:100%}
.order-actions button,.order-actions a,.send-sample-db,.quantity-unit,.quantity-stepper button,.menu-toggle{min-height:44px}
.quantity-stepper>*{min-width:0}
.homepage-order{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:90%}
.homepage-stage .homepage-order a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.35}
.rf-social-list a{min-width:44px;min-height:44px}
.blog-article-body table{max-width:none}
.blog-table{max-width:100%;overscroll-behavior-inline:contain}
.blog-article-body h2,.blog-article-body h3{scroll-margin-top:110px}
@media(max-width:1200px){
 header{height:85px}
 header .menu-toggle{display:block;flex-shrink:0;min-width:44px}
 header .nav-shell{gap:16px}
 header .main-nav{display:none;position:absolute;top:85px;right:0;left:0;padding:18px 6% 24px;background:var(--ramlen-header-background,#fdfbf7);flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100vh - 85px);max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 25px #2c1a1d12}
 header .main-nav.open{display:flex}
 header .main-nav>.about-menu,header .main-nav>.products-menu,header .main-nav>.business-menu{display:block;align-self:stretch}
 header .main-nav button,header .main-nav>a{min-height:44px;max-width:100%;text-align:right;font-size:16px}
 header .about-menu>button,header .products-menu>button,header .business-menu>button{width:100%;padding:12px}
 header .about-submenu,header .products-submenu,header .chocolate-submenu,header .business-submenu{position:static;min-width:0;max-width:100%;margin:0 8px 8px;padding:8px;box-shadow:none}
 header .main-nav [hidden]{display:none!important}
 header .main-nav .chocolate-submenu a,header .main-nav .products-submenu a,header .main-nav .about-submenu a,header .main-nav .business-submenu a{white-space:normal;overflow-wrap:anywhere;min-height:44px}
 header .chocolate-menu:after{display:none}
 header #chocolate-toggle span{transform:rotate(-90deg)}
 header .main-nav .header-whatsapp{align-self:flex-start}
}
@media(max-width:950px){
 .order-layout{grid-template-columns:minmax(0,1fr)}
 .order-layout .order-selection,.order-layout .order-customer{grid-column:1;grid-row:auto;width:100%;min-width:0}
}
@media(max-width:600px){
 header{padding-inline:5%}
 header .factory-brand{min-width:0;max-width:calc(100% - 60px);gap:10px}
 header .factory-brand-text{min-width:0}
 header .factory-brand b{font-size:21px;line-height:1.35;letter-spacing:0}
 header .factory-brand small{font-size:13px;letter-spacing:0;margin:4px 0 0}
 .site-stage h1,.blog-intro h1{font-size:clamp(27px,7vw,34px);line-height:1.5}
 .site-stage{padding-inline:5%}
 .homepage-stage .homepage-order a{font-size:14px;padding:8px 12px;min-height:44px}
 .order-layout{gap:20px}
 .order-layout section{padding:18px}
 .order-subgroup{padding:10px}
 .order-actions{gap:10px;align-items:stretch}
 .order-actions>button,.order-actions>a{max-width:100%;flex:1 1 190px;justify-content:center;text-align:center;margin:0}
 .quantity-stepper button{min-width:44px}
 .sample-field,.sample-field input,.sample-field select{max-width:100%;min-width:0}
 .sample-field input,.sample-field select,.customer-fields input,.customer-fields textarea,.blog-filter input,.blog-filter select{font-size:16px}
 .ramlen-reference-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .rf-contact-line{font-size:16px}
 .rf-licenses dd{letter-spacing:1px;font-size:17px;overflow-wrap:anywhere}
 .blog-article-body .blog-cta{padding:20px}
}
@media(max-width:480px){
 .home-benefit-grid{grid-template-columns:minmax(0,1fr)}
 .home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-product-photo{height:150px}
 .home-benefit-grid>a{padding:22px}
 .chocolate-product-info{padding:20px}
 .order-layout h2{font-size:22px}
 .order-layout h3{font-size:20px}
 .product-specs{column-gap:16px}
 .blog-answer{padding:18px}
 .blog-card-copy{padding:20px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .panel{animation:none}
}

.privacy-form-notice{font-size:14px!important;line-height:1.9;color:var(--ramlen-text,#64534f);padding:14px 0;margin:14px 0!important;max-width:100%!important}.privacy-form-notice a{text-decoration:underline;text-underline-offset:4px;font-weight:700}.privacy-form-notice a:focus-visible{outline:2px solid var(--ramlen-accent,#d4af37);outline-offset:3px}

/* Compact reference navigation and the shared FAQ page. */
.ramlen-reference-footer .rf-footer-links>a{margin:4px 0;padding:6px 0;line-height:1.5;min-height:36px}
.faq-page-list{max-width:950px;margin:32px auto 0;text-align:right}
.faq-page-list details{padding:20px 0;border-bottom:1px solid #ded4c7}
.faq-page-list summary{cursor:pointer;font-size:20px;font-weight:700;line-height:1.7}
.faq-page-list details p{font-size:17px;line-height:1.9;margin:14px 0 0;white-space:pre-line}
.faq-page-list summary:focus-visible{outline:2px solid var(--ramlen-accent,#d4af37);outline-offset:5px}
@media(max-width:600px){.ramlen-reference-footer .rf-footer-links>a{margin:0;padding:8px 0;min-height:44px}.faq-page-list summary{font-size:18px}}

/* Keep the minimum note in normal flow above both order columns. */
#site-panel>.order-minimum-info{position:static;inset:auto;float:none;clear:both;transform:none;width:100%;max-width:100%;height:auto;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0 0 22px;padding:12px 16px;border:1px solid #dbc9a4;border-inline-start:3px solid var(--ramlen-accent,#d4af37);border-radius:6px;background:#faf6ee;text-align:right;font-size:15px;line-height:1.7}
#site-panel>.order-minimum-info strong{font-size:16px}
#site-panel>.order-minimum-info small{font-size:13px;color:var(--ramlen-text,#64534f)}
@media(max-width:600px){#site-panel>.order-minimum-info{display:block;padding:10px 12px;font-size:14px}#site-panel>.order-minimum-info span,#site-panel>.order-minimum-info small{display:block;margin-top:3px}}

/* Keep the requested collections beside the chocolate bars in one browsable row. */
.home-product-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-inline:contain;padding:6px 2px 20px;scrollbar-width:thin;scrollbar-color:var(--ramlen-accent,#d4af37) transparent}
.home-product-grid>a{flex:0 0 clamp(220px,25vw,285px);min-width:0;scroll-snap-align:start}
.home-product-grid>a:focus-visible{outline:3px solid var(--ramlen-accent,#d4af37);outline-offset:-3px}
@media(max-width:600px){.home-product-grid{gap:14px}.home-product-grid>a{flex-basis:min(76vw,285px)}.home-product-grid .home-product-photo{height:200px}}

/* Use a font-independent, high-contrast mobile navigation control. */
header .menu-toggle{color:var(--ramlen-header-text,var(--ramlen-primary,#2c1a1d));border:0;background:transparent;cursor:pointer}
header .menu-toggle svg{display:block;width:26px;height:26px;pointer-events:none}
header .menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
@media(max-width:1200px){header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:9px;visibility:visible;opacity:1}}
