/* Full-page modules, using verified Cloudflare media and native Woo product data. */
@font-face { font-family:'snell-roundhand-lt-std'; src:url('assets/fonts/snell-roundhand.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
.fr-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:42px 4.45vw; margin:50px 0; border-block:1px solid #ebe7df; text-align:center; }
.fr-services>a { display:flex; flex-direction:column; align-items:center; padding:0 20px; color:#111; }
.fr-services>a:not(:last-child) { border-right:1px solid #ebe7df; }
.fr-services img { width:48px; height:48px; object-fit:contain; margin:0 auto 14px; }
.fr-services strong { font:700 13px/18px Arial,Helvetica,sans-serif; margin-bottom:10px; }
.fr-services span { font-style:italic; font-size:14px; line-height:16px; }
.fragonard-feature { display:block; position:relative; min-height:0; background:#efebe3; }
.fragonard-feature-image { min-height:0; aspect-ratio:16/9; }
.fragonard-feature-image img { display:block; width:100%; height:100%!important; object-fit:cover; }
.fragonard-feature-copy { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:30%; padding:52px 42px; background:#fff; }
.fragonard-feature-copy .fragonard-script { font-size:23px; margin:0 0 18px; }
.fragonard-feature-copy .fragonard-script,.fragonard-victoria-copy .fragonard-script { font-family:'snell-roundhand-lt-std',cursive; font-style:normal; }
.fragonard-feature-logo { width:100%; max-width:230px; max-height:none; margin-bottom:22px; }
.fragonard-feature-copy>p:not(.fragonard-script) { font-size:16px; line-height:18px; margin-bottom:24px; }
.fragonard-feature-copy .fragonard-button { min-width:0; width:auto; white-space:nowrap; padding:14px 25px; }
.fragonard-victoria { padding:0; margin:0; background:#fcf9f5; }
.fragonard-victoria-copy { order:1; padding:45px 17%; }
.fragonard-victoria-copy h2 { max-width:330px; font-size:46px; line-height:46px; margin:0 auto 18px; }
.fragonard-victoria-copy .fragonard-script { font-size:24px; margin-bottom:20px; }
.fragonard-victoria-products { display:block; max-width:100%; width:305px; height:auto; margin:0 auto 20px; }
.fragonard-victoria-image { order:2; display:block; }
.fragonard-victoria-image img { display:block; aspect-ratio:8/9; }
.fragonard-victoria-copy h3 { font-size:16px; line-height:20px; }
.fragonard-victoria-copy>p:not(.fragonard-script) { font-size:16px; line-height:18px; }
.fr-collections { position:relative; height:100vh; min-height:650px; max-height:1100px; margin-top:50px; background:#fed175; text-align:center; color:#0b1223; }
.fragonard-page .fr-collections>h2 { position:absolute; top:13%; width:100%; font:400 16px/20px 'mrs-eaves-xl-serif-narrow',serif; letter-spacing:2px; }
.fr-collection-tabs { display:grid; grid-template-columns:repeat(4,1fr); align-items:center; position:absolute; inset:0; padding:0 4.5vw; z-index:2; }
.fr-collection-tabs>div { min-width:0; text-align:center; }
.fr-collection-tabs button { border:0; background:none; color:#0b1223; padding:15px; margin:0; min-height:0; line-height:1; text-transform:none; white-space:normal; }
.fr-collection-tabs button span { display:block; font:400 30px/30px 'snell-roundhand-lt-std',cursive; margin-bottom:10px; }
.fr-collection-tabs button strong { font:700 46px/46px 'Trade Gothic',sans-serif; letter-spacing:0; }
.fr-collection-tabs .fragonard-button { visibility:hidden; display:table; min-width:0; margin:28px auto 0; padding:12px 24px; background:#fff; border:0; }
.fr-collection-tabs>div:hover .fragonard-button,.fr-collection-tabs>div:focus-within .fragonard-button { visibility:visible; }
.fr-collection-panels { position:absolute; inset:0; pointer-events:none; }
.fr-collection-panels>div { position:absolute; inset:0; }
.fr-collection-panels img { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); height:400px; width:auto; max-width:90%; object-fit:contain; }
.fr-collection-panels [hidden] { display:none; }
.fr-collection-mobile { display:none; }
.fr-store-footer { padding:20px; background:#ffa527 var(--fr-footer-pattern) center/cover; border:0; }
.fr-store-footer-inner { padding:40px 40px 32px; background:#fed175; }
.fr-store-footer-main { display:grid; grid-template-columns:42% 1fr; gap:7%; }
.fr-store-footer-news { max-width:540px; }
.fr-store-footer h2 { font:700 11px/14px Arial,Helvetica,sans-serif; letter-spacing:0; margin-bottom:16px; }
.fr-store-footer .fr-store-footer-news>p { font-size:24px; line-height:25px; margin:0 0 26px; }
.fr-store-footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 40px; }
.fr-store-footer-links>div>a { display:block; color:#111; font-size:14px; line-height:17px; margin:0; }
.fr-store-footer-links h2 { margin-bottom:18px; }
.fr-store-newsletter-line { border:0; background:#fff; align-items:stretch; }
.fr-store-newsletter-line input { padding:8px 10px; height:40px; }
.fr-store-newsletter-line button { padding:0 22px; background:#111; color:#fff; font-size:11px; }
.fr-store-newsletter .fr-store-consent { font-size:12px; line-height:14px; margin:12px 0; }
.fr-store-footer-bottom { margin-top:60px; border-top:0; padding:0; font-size:12px; gap:25px; }
.fr-footer-wordmark { font:500 30px/1 Arial,Helvetica,sans-serif; letter-spacing:6px; color:#111; }
.fr-pdp-related { padding:0; }
.fr-pdp-section { padding:32px 4.45vw; }
.fr-pdp-section>h2 { font:700 20px/22px 'Trade Gothic',sans-serif; border-bottom:1px solid #ebe7df; padding-bottom:20px; margin:0 0 30px; }
.fr-composer-layout { display:grid; grid-template-columns:1fr 1.5fr .45fr 3.15fr; gap:30px; align-items:start; }
.fr-composer-intro { margin:0; font-size:16px; line-height:18px; }
.fr-composer-item { display:flex; gap:20px; align-items:center; position:relative; padding:15px 50px 15px 20px; border:1px solid #ebe7df; margin:0 0 14px; font-weight:400; min-width:0; cursor:pointer; }
.fr-composer[hidden],.fr-composer-item[hidden],.fr-same-range[hidden],[data-fr-range-item][hidden] { display:none!important; }
[data-fr-range-item] { min-width:0; scroll-snap-align:start; }
.fr-composer-item>img { width:65px; height:80px; object-fit:contain; flex:0 0 65px; }
.fr-composer-item>span { min-width:0; }
.fr-composer-item strong { display:block; font-size:15px; font-weight:400; text-transform:uppercase; }
.fr-composer-item em { display:block; font-size:14px; line-height:18px; }
.fr-composer-item b { display:block; margin-top:12px; font:700 13px/18px Arial,Helvetica,sans-serif; }
.fr-composer-item .price { font:inherit; }
.fr-composer-item input { position:absolute; top:15px; right:12px; width:23px; height:23px; margin:0; accent-color:#111; }
.fr-composer-main,.fr-composer-plus { display:none; }
.fr-composer:not(.is-enhanced) .fr-composer-layout { grid-template-columns:1fr 4fr; }
.fr-composer.is-enhanced .fr-composer-main,.fr-composer.is-enhanced .fr-composer-plus { display:block; }
.fr-composer-main .fr-composer-item { display:block; padding:25px 25px 40px; background:#ebe7df; border:0; }
.fr-composer-main .fr-composer-item>img { width:100%; height:auto; aspect-ratio:8/9; object-fit:cover; margin:0 0 20px; }
.fr-composer-main .fr-composer-item input { top:auto; bottom:18px; right:25px; }
.fr-composer-plus { width:40px; height:40px; border:1px solid #ebe7df; text-align:center; font:24px/38px Arial,Helvetica,sans-serif; }
.fr-composer-total { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid #ebe7df; padding:20px 0; font:700 12px/18px Arial,Helvetica,sans-serif; }
.fr-composer-options>button { width:100%; min-height:48px; background:#fff; border:1px solid #ddd7ce; color:#111; margin:0; font:700 12px/18px Arial,Helvetica,sans-serif; }
.fr-composer-options>button:hover { background:#ffbf00; }
.fr-commitments-intro { font-size:16px; line-height:18px; font-style:italic; margin-bottom:30px; }
.fr-commitment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.fr-commitment-grid>article { border:1px solid #ddd7ce; padding:48px; text-align:center; min-width:0; }
.fr-commitment-grid img { width:auto; height:134px; max-width:100%; object-fit:contain; margin:0 0 38px; }
.fr-commitment-grid h3 { font:700 13px/15px Arial,Helvetica,sans-serif; letter-spacing:.03em; text-transform:uppercase; margin:0; }
.fr-commitment-grid p { font-size:14px; line-height:16px; color:#404040; margin:20px 0; }
.fr-module-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 96px)/4); gap:32px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 25px; }
.fr-module-product { scroll-snap-align:start; min-width:0; }
.fr-module-product>a { display:flex; flex-direction:column; height:100%; color:#111; }
.fr-module-product-image { background:#fbf8f3; aspect-ratio:8/9; overflow:hidden; margin-bottom:20px; }
.fr-module-product-image img { display:block; width:100%; height:100%; object-fit:contain; }
.fr-module-product h3 { font:700 18px/20px 'Trade Gothic',sans-serif; text-transform:uppercase; margin:0 0 10px; }
.fr-module-product p { font-style:italic; font-size:14px; margin:0 0 25px; }
.fr-module-price { border-top:1px solid #ebe7df; margin-top:auto; padding-top:20px; font:700 13px/18px Arial,Helvetica,sans-serif; }
.fr-module-price .price { font:inherit; color:#111; }
.fr-factory { display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#ebe7df; padding:20px; margin:40px 0; }
.fr-factory-copy { padding:40px 10%; text-align:center; }
.fr-factory-copy>p { font:400 54px/54px 'snell-roundhand-lt-std',cursive; margin:0; }
.fr-factory-copy h2 { font:700 54px/54px 'Trade Gothic',sans-serif; margin:0 0 26px; }
.fr-factory-ornament { width:199px; height:46px; object-fit:contain; margin:0 auto 30px; }
.fr-factory-copy>div { font-size:16px; line-height:18px; font-style:italic; }
.fr-factory-photo { display:block; width:100%; height:auto; }
@media(max-width:1200px) and (min-width:850px) {
 .fragonard-feature-copy { width:38%; padding:28px; }
 .fragonard-victoria-copy { padding:25px 10%; }
 .fragonard-victoria-copy h2 { font-size:36px; line-height:36px; }
 .fr-collection-tabs button strong { font-size:34px; line-height:36px; }
 .fr-commitment-grid>article { padding:30px; }
 .fr-factory-copy { padding:30px 7%; }
 .fr-factory-copy>p,.fr-factory-copy h2 { font-size:40px; line-height:42px; }
 .fr-composer-layout { grid-template-columns:1fr 1.5fr .3fr 3fr; gap:15px; }
}
@media(max-width:849px) {
 .fr-services { grid-template-columns:1fr 1fr; padding:25px 20px; gap:0; margin:35px 0; }
 .fr-services>a { padding:20px 12px; }
 .fr-services>a:nth-child(2) { border-right:0; }
 .fr-services>a:nth-child(-n+2) { border-bottom:1px solid #ebe7df; }
 .fr-services strong { font-size:11px; line-height:14px; }
 .fr-services span { font-size:12px; line-height:14px; }
 .fragonard-feature { display:block; margin-top:35px; }
 .fragonard-feature-image { aspect-ratio:auto; height:650px; }
 .fragonard-feature-copy { width:86%; padding:35px 25px; }
 .fragonard-feature-copy .fragonard-script { font-size:23px; }
 .fragonard-feature-logo { max-width:180px; }
 .fragonard-feature-copy>p:not(.fragonard-script) { font-size:16px; line-height:18px; }
 .fragonard-victoria { padding:0; }
 .fragonard-victoria-image { order:1; width:100%; }
 .fragonard-victoria-copy { order:2; padding:45px 30px; }
 .fragonard-victoria-copy h2 { font-size:40px; line-height:40px; max-width:250px; }
 .fragonard-victoria-products { width:280px; }
 .fragonard-victoria-copy>p:not(.fragonard-script) { font-size:16px; line-height:18px; }
 .fr-collections { height:600px; min-height:0; max-height:none; margin-top:35px; overflow:hidden; }
 .fragonard-page .fr-collections>h2 { top:35px; font-size:14px; }
 .fr-collection-tabs,.fr-collection-panels { display:none; }
 .fr-collection-mobile { display:grid; grid-auto-flow:column; grid-auto-columns:80%; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:85px 10% 25px; height:100%; }
 .fr-collection-mobile>a { display:flex; flex-direction:column; align-items:center; min-width:0; color:#111; scroll-snap-align:center; }
 .fr-collection-mobile>a>img { width:240px; height:300px; object-fit:cover; margin-bottom:20px; }
 .fr-collection-mobile>a>span:not(.fragonard-button) { font:400 24px/28px 'snell-roundhand-lt-std',cursive; }
 .fr-collection-mobile strong { font:700 32px/34px 'Trade Gothic',sans-serif; margin:6px 0 20px; }
 .fr-collection-mobile .fragonard-button { background:#fff; border:0; min-width:0; padding:12px 30px; font-size:11px; }
 .fr-store-footer { padding:12px; }
 .fr-store-footer-inner { padding:30px 20px; }
 .fr-store-footer-main { display:block; }
 .fr-store-footer-news { max-width:none; margin-bottom:35px; }
 .fr-store-footer .fr-store-footer-news>p { font-size:22px; line-height:24px; }
 .fr-store-footer-links { grid-template-columns:1fr 1fr; gap:30px 20px; }
 .fr-store-footer-links>div>a { font-size:13px; line-height:17px; }
 .fr-store-footer h2 { font-size:10px; }
 .fr-store-footer-bottom { display:flex; flex-direction:column; align-items:flex-start; margin-top:40px; gap:20px; }
 .fr-footer-wordmark { font-size:25px; letter-spacing:4px; }
 .single-product .fr-store-footer { padding-bottom:140px; }
 .fr-pdp-section { padding:28px 24px; }
 .fr-pdp-section>h2 { font-size:18px; line-height:20px; margin-bottom:24px; padding-bottom:18px; }
 .fr-composer-layout,.fr-composer:not(.is-enhanced) .fr-composer-layout { display:block; }
 .fr-composer-intro { margin-bottom:24px; }
 .fr-composer-main .fr-composer-item { padding:20px 20px 40px; }
 .fr-composer-main .fr-composer-item>img { max-height:330px; object-fit:contain; }
 .fr-composer-plus { margin:20px auto; }
 .fr-composer-item { padding:12px 42px 12px 10px; gap:12px; }
 .fr-composer-item strong { font-size:13px; }
 .fr-composer-item em { font-size:13px; line-height:16px; }
 .fr-composer-item>img { width:50px; height:65px; flex-basis:50px; }
 .fr-composer-item input { width:20px; height:20px; right:10px; }
 .fr-commitment-grid { grid-template-columns:1fr; gap:20px; }
 .fr-commitment-grid>article { padding:38px; }
 .fr-commitment-grid img { height:134px; margin-bottom:30px; }
 .fr-commitment-grid h3 { line-height:18px; }
 .fr-commitment-grid p { font-size:16px; line-height:18px; }
 .fr-module-rail { grid-auto-columns:78%; gap:20px; }
 .fr-module-product h3 { font-size:16px; line-height:18px; }
 .fr-factory { display:flex; flex-direction:column; padding:15px; margin:25px 0; }
 .fr-factory-photo { order:1; }
 .fr-factory-copy { order:2; padding:40px 10px 20px; }
 .fr-factory-copy>p { font-size:40px; line-height:44px; }
 .fr-factory-copy h2 { font-size:40px; line-height:44px; }
 .fr-factory-copy>div { font-size:16px; line-height:18px; }
}
