/* RoyalMontre shared storefront — local review version. */
:root { --rm-wine:#701b30; --rm-ink:#30292a; --rm-gold:#aa8754; --rm-paper:#faf8f5; --rm-line:#e5ddd2; }
body { color:var(--rm-ink); }
#content { background:var(--rm-paper); }
a, button, input { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--rm-gold); outline-offset:4px; }
.site-header .main-header-menu > .menu-item > .menu-link { font-size:13px; letter-spacing:.15px; }
.site-header .sub-menu { border-top-color:var(--rm-gold) !important; }
.site-header .sub-menu a { line-height:1.5; padding-top:10px; padding-bottom:10px; }
.ast-above-header-bar { min-height:34px !important; }
.ast-above-header-bar p { font-size:11px; letter-spacing:1.2px; }
.site-footer { font-size:14px; line-height:1.8; }
.site-footer h2, .site-footer h3, .site-footer .widget-title { font-family:Georgia,serif; font-size:20px; }
.site-footer .widget { margin-bottom:20px; }
.site-footer a:hover { color:var(--rm-wine); text-decoration:underline; }
.woocommerce ul.products li.product { padding:0 0 18px !important; background:#fff; border:1px solid #eee8e0; border-radius:6px; overflow:hidden; transition:box-shadow .2s,border-color .2s; }
.woocommerce ul.products li.product:hover { border-color:#cfbfa9; box-shadow:0 8px 20px #4a24300a; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding:14px 16px 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px !important; line-height:1.5 !important; color:var(--rm-ink); }
.woocommerce ul.products li.product .price { font-size:14px !important; line-height:1.7; color:var(--rm-wine); }
.woocommerce ul.products li.product .price del { color:#777; font-size:12px; }
.woocommerce ul.products li.product .price ins { font-weight:700; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position:relative; }
.woocommerce ul.products li.product img { margin-bottom:0 !important; }
.woocommerce .woocommerce-ordering select { border:1px solid var(--rm-line); border-radius:4px; padding:10px 30px 10px 12px; background:#fff; font-size:13px; }
.woocommerce .woocommerce-result-count { color:#6d6560; font-size:13px; }
.woocommerce .woocommerce-breadcrumb { font-size:12px; color:#756a61; margin-bottom:22px; }
.woocommerce .woocommerce-products-header__title, .rm-collection-page .entry-title { font-family:Georgia,serif; color:var(--rm-wine); font-size:clamp(28px,4vw,44px); line-height:1.2; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
.woocommerce nav.woocommerce-pagination ul li { border:1px solid var(--rm-line); border-radius:4px; overflow:hidden; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { padding:12px 15px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--rm-wine); color:white; }
/* Information pages have a comfortable reading width and consistent headings. */
.rm-policy-page .site-content > .ast-container { max-width:1060px; padding-top:38px; padding-bottom:48px; }
.rm-policy-page article.ast-article-single { padding:clamp(22px,5vw,60px) !important; border:1px solid var(--rm-line); border-radius:8px; }
.rm-policy-page .entry-title { font-family:Georgia,serif; font-size:clamp(30px,4vw,42px) !important; line-height:1.2; color:var(--rm-wine); margin:0 0 24px; }
.rm-policy-page .entry-content { font-size:15px; line-height:1.9; }
.rm-policy-page .entry-content .elementor-widget-text-editor { font-size:15px !important; line-height:1.9 !important; }
.rm-policy-page .entry-content h1, .rm-policy-page .entry-content h2 { font-family:Georgia,serif !important; font-size:27px !important; line-height:1.35 !important; color:var(--rm-wine); margin:26px 0 15px !important; }
.rm-policy-page .entry-content h3 { font-size:21px !important; line-height:1.4; margin:28px 0 12px !important; }
.rm-policy-page .entry-content h4 { font-size:17px !important; line-height:1.5; margin:22px 0 10px !important; }
.rm-policy-page .entry-content p { margin-bottom:16px; }
.rm-policy-page .entry-content .elementor-widget-wrap { padding:0 !important; }
.rm-policy-page .entry-content .elementor-section { padding:0 !important; }
.rm-policy-page .entry-content a { text-decoration:underline; text-underline-offset:3px; color:var(--rm-wine); }
.rm-page-nav { background:#f5f0e9; border:1px solid var(--rm-line); border-radius:5px; padding:16px 20px; margin-bottom:26px; }
.rm-page-nav summary { color:var(--rm-wine); cursor:pointer; font-weight:600; font-size:14px; }
.rm-page-nav ul { margin:12px 0 0 18px; font-size:13px; line-height:1.8; }
.rm-page-nav a { text-decoration:none !important; }
.rm-policy-page [id^=rm-section] { scroll-margin-top:140px; }
.rm-information-page .entry-content h1, .rm-information-page .entry-content h2 { font-family:Georgia,serif; color:var(--rm-wine); line-height:1.3; }
.rm-information-page .elementor-widget-text-editor { line-height:1.85; }
.rm-information-page .entry-content { overflow-wrap:anywhere; }
.rm-information-page input:not([type=checkbox]), .rm-information-page textarea { border:1px solid var(--rm-line); border-radius:4px; padding:12px; }
.home .elementor-heading-title { line-height:1.2 !important; }
.home .elementor-widget-heading h2 { font-family:Georgia,serif; font-size:clamp(27px,4vw,44px) !important; }
.home .elementor-button { border-radius:3px !important; font-size:12px !important; letter-spacing:.8px; padding:16px 24px !important; }
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title { font-family:Georgia,serif; color:var(--rm-wine); }
.woocommerce-cart .woocommerce, .woocommerce-checkout .entry-content > .woocommerce { font-size:14px; }
.woocommerce-cart table.shop_table { border:1px solid var(--rm-line); border-radius:6px; background:#fff; }
.woocommerce-cart table.shop_table th { background:#f5f0e9; padding:15px; }
.woocommerce-cart table.shop_table td { padding:16px; }
.woocommerce-cart .cart-collaterals .cart_totals { padding:24px; border:1px solid var(--rm-line); background:white; border-radius:6px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:4px; }
.woocommerce-cart .checkout-button { background:var(--rm-wine) !important; font-size:15px !important; padding:18px !important; }
.woocommerce-checkout:not(.single-product) #customer_details { border:1px solid var(--rm-line) !important; border-radius:6px; padding:24px !important; box-shadow:none !important; background:#fff; }
.woocommerce-checkout:not(.single-product) form.checkout .form-row { margin-bottom:16px !important; }
.woocommerce-checkout:not(.single-product) form.checkout input.input-text { min-height:46px; border-radius:4px; border:1px solid #d8d2cb; }
.rm-empty-newsletter { display:none !important; }
@media(max-width:921px){
 .ast-mobile-header-wrap .ast-primary-header-bar { background:var(--rm-wine); }
 .ast-mobile-header-wrap .custom-logo { max-height:72px; width:auto; }
 .ast-mobile-header-wrap { position:relative !important; }
 .woocommerce ul.products li.product .astra-shop-summary-wrap { padding:10px 10px 0; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px !important; }
}
@media(max-width:544px){
 .rm-policy-page .site-content > .ast-container { padding:18px 12px 30px; }
 .rm-policy-page article.ast-article-single { padding:22px 18px !important; }
 .rm-policy-page .entry-content h2 { font-size:23px !important; }
 .rm-policy-page .entry-content h3 { font-size:19px !important; }
 .rm-policy-page .entry-content { font-size:14px; }
 .woocommerce ul.products { column-gap:12px !important; }
 .woocommerce ul.products li.product .price { font-size:12px !important; }
 .woocommerce ul.products li.product .price del { display:block; }
 .woocommerce ul.products li.product .onsale { min-width:52px; font-size:10px !important; padding:6px 8px !important; min-height:26px; top:7px !important; right:7px !important; }
 .woocommerce-cart .cart-collaterals .cart_totals { padding:16px; }
}
@media(prefers-reduced-motion:reduce){ * { scroll-behavior:auto !important; transition:none !important; } }
.page-id-6758 .elementor-widget-icon-box { background:#fff; border:1px solid var(--rm-line); border-radius:7px; padding:22px 18px; height:100%; }
.page-id-6758 .elementor-icon-box-title { font-size:18px !important; color:var(--rm-wine); }
.page-id-6758 .elementor-icon-box-description { font-size:14px !important; line-height:1.8; }
.page-id-6758 .elementor-icon-box-description a { text-decoration:underline; }
.page-id-6758 .elementor-icon-box-icon { color:var(--rm-gold); }
.page-id-6758 .elementor-widget-heading h2 { font-size:32px !important; }
.page-id-6758 .rm-map-note { background:#f1ece4; border:1px solid var(--rm-line); border-radius:7px; padding:28px; text-align:center; color:var(--rm-wine); }
.page-id-6758 .rm-map-note p { margin:6px 0 0; font-size:13px; color:#6b6159; }
@media(min-width:922px){
 .site-header .main-header-menu > .menu-item > .menu-link { padding-left:8px; padding-right:8px; font-size:12px; }
}
.page-id-397 .entry-content { max-width:900px; margin:0 auto; padding:40px 20px; }
.page-id-397 .entry-content h2 { font-size:clamp(28px,4vw,40px) !important; line-height:1.25 !important; margin:0 0 24px !important; }
.page-id-397 .entry-content h3 { font-size:24px !important; line-height:1.4 !important; margin:30px 0 14px; color:var(--rm-wine); }
.page-id-397 .entry-content p { font-size:15px !important; line-height:1.9 !important; }
.page-id-397 .entry-content .elementor-widget-text-editor { background:white; border:1px solid var(--rm-line); border-radius:8px; padding:clamp(20px,4vw,42px); }
.page-id-397 .entry-content .elementor-section { padding:0 !important; }
.page-id-397 .entry-content .elementor-widget-spacer { display:none; }
.rm-browse-all { text-align:center; margin:26px 0 40px; }
.rm-browse-all a { display:inline-block; padding:13px 24px; border:1px solid var(--rm-wine); color:var(--rm-wine); border-radius:4px; font-size:13px; }
.rm-browse-all a:hover { background:var(--rm-wine); color:white; }
.ast-mobile-header-wrap .menu-toggle, .ast-mobile-header-wrap .menu-toggle .ast-icon { color:#f3dfb7 !important; }
.ast-mobile-header-wrap .menu-toggle svg { fill:#f3dfb7 !important; }
.rm-policy-page #primary { margin-top:0 !important; margin-bottom:0 !important; }
@media(max-width:544px){ .rm-information-page #primary, .rm-collection-page #primary { margin-top:22px !important; } }
.page-id-26 .entry-content .elementor-widget-container div[style] { width:auto !important; max-width:100% !important; flex:1 1 100% !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; font-family:inherit !important; }
.rm-policy-page .entry-content h5, .rm-policy-page .entry-content h6 { font-size:18px !important; line-height:1.5 !important; margin:26px 0 12px !important; color:var(--rm-wine); }
.rm-policy-page .entry-content h5 span { font-size:inherit !important; }
.ast-mobile-header-content, .ast-mobile-header-content .main-header-menu { background:var(--rm-wine) !important; }
.rm-policy-page .entry-content .elementor-section-stretched { width:100% !important; left:0 !important; }
.rm-policy-page .entry-content .elementor-container { width:100%; max-width:100%; }
.woocommerce-checkout:not(.single-product) form.checkout { max-width:720px; margin:24px auto !important; padding:24px !important; border:1px solid var(--rm-line) !important; border-radius:8px; background:#fff; box-shadow:none !important; }
.woocommerce-checkout:not(.single-product) #customer_details { width:100% !important; float:none !important; border:0 !important; padding:0 !important; }
.woocommerce-checkout:not(.single-product) #customer_details .col-1 { width:100% !important; padding:0 !important; }
.woocommerce-checkout:not(.single-product) #customer_details .col-2 { display:none; }
.woocommerce-checkout:not(.single-product) #order_review { width:100% !important; float:none !important; border:0 !important; padding:0 !important; }
.woocommerce-checkout:not(.single-product) #order_review_heading { display:none; }
.woocommerce-checkout:not(.single-product) #payment { background:none !important; padding:0 !important; }
.woocommerce-checkout:not(.single-product) form.checkout .form-row { width:100% !important; float:none !important; padding:0 !important; }
.woocommerce-checkout:not(.single-product) form.checkout label { font-size:13px; }
.woocommerce-checkout:not(.single-product) #place_order { width:100%; background:var(--rm-wine) !important; min-height:48px; border-radius:4px; }
.rm-brand-directory { max-width:1100px; margin:auto; padding:40px 24px; }
.rm-brand-directory h1 { font:clamp(30px,4vw,44px)/1.2 Georgia,serif; color:var(--rm-wine); margin:12px 0; }
.rm-brand-directory > p { color:#70665e; margin-bottom:30px; }
.rm-brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rm-brand-grid article { padding:24px; background:white; border:1px solid var(--rm-line); border-radius:7px; }
.rm-brand-grid h2 { font:24px/1.3 Georgia,serif; margin-bottom:16px; }
.rm-brand-grid a { color:var(--rm-wine); }
.rm-brand-grid ul { list-style:none; margin:0; font-size:13px; line-height:2.2; }
.rm-brand-grid li a:hover { text-decoration:underline; }
@media(max-width:767px){ .rm-brand-grid { grid-template-columns:1fr; } }
/* Gender > brand > collection catalog navigation. */
.rm-gender-tabs { display:flex; gap:12px; margin:0 0 28px; }
.rm-gender-tabs a { flex:1; padding:18px 24px; text-align:center; border:1px solid var(--rm-line); border-radius:5px; color:var(--rm-wine); font-family:Georgia,serif; font-size:23px; background:#fff; }
.rm-gender-tabs a[aria-current] { background:var(--rm-wine); color:#fff; border-color:var(--rm-wine); }
.rm-catalog-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:28px; clear:both; }
.rm-catalog-sidebar { min-width:0; }
.rm-filter-panel { background:#fff; border:1px solid var(--rm-line); border-radius:6px; padding:18px; }
.rm-filter-panel > summary { font-size:14px; font-weight:600; color:var(--rm-wine); cursor:pointer; line-height:1.5; }
.rm-filter-panel fieldset { border:0; margin:16px 0; padding:0; }
.rm-filter-panel legend { font-size:12px; color:#74695f; margin-bottom:12px; }
.rm-brand-filter { border-top:1px solid var(--rm-line); padding:12px 0; }
.rm-brand-filter > summary { font-size:14px; cursor:pointer; color:var(--rm-ink); font-weight:600; }
.rm-brand-filter > summary > span { float:right; font-size:11px; color:#847569; font-weight:400; }
.rm-filter-choice { display:flex; gap:8px; align-items:center; font-size:12px; line-height:1.5; padding:8px 0; cursor:pointer; }
.rm-filter-choice input { flex:0 0 auto; accent-color:var(--rm-wine); }
.rm-child-choice { padding-left:12px; }
.rm-child-choice small { margin-left:auto; color:#85776b; }
.rm-filter-apply { width:100%; background:var(--rm-wine) !important; padding:13px 8px !important; font-size:12px !important; }
.rm-filter-reset { display:block; text-align:center; margin-top:12px; font-size:12px; text-decoration:underline; color:var(--rm-wine); }
.rm-active-filter { display:inline-flex; gap:18px; background:#f4ede5; border:1px solid var(--rm-line); border-radius:4px; padding:7px 12px; font-size:13px; margin-bottom:18px; }
.rm-active-filter a { color:var(--rm-wine); font-size:18px; }
.rm-catalog-results { min-width:0; }
.rm-catalog-results .woocommerce-result-count { float:none; margin-bottom:12px; }
.rm-catalog-results .woocommerce-ordering { float:none; margin-bottom:24px; }
.rm-catalog-results ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.rm-catalog-results .woocommerce-no-products-found { clear:both; }
@media(max-width:921px){ .rm-catalog-layout { grid-template-columns:200px minmax(0,1fr); gap:18px; } .rm-catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:650px){ .rm-catalog-layout { grid-template-columns:1fr; gap:20px; } .rm-gender-tabs { gap:8px; } .rm-gender-tabs a { padding:14px 8px; font-size:19px; } .rm-filter-panel { padding:16px; } .rm-catalog-sidebar { width:100%; } }
.rm-filtered-catalog .woocommerce-products-header { margin-bottom:24px; }
.rm-filtered-catalog .woocommerce-products-header__title { margin-bottom:24px; }
.rm-catalog-results > .woocommerce-info { background:#f4eee6; border-color:var(--rm-gold); }
.rm-sort-field { margin-top:18px; padding-bottom:18px; border-bottom:1px solid var(--rm-line); }
.rm-sort-field label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; color:var(--rm-wine); }
.rm-sort-field select { width:100%; max-width:100%; padding:10px 6px; font-size:12px; border:1px solid var(--rm-line); border-radius:4px; background:#fff; }
/* Theme-matched sort list, with native keyboard-accessible radio controls. */
.rm-filter-panel fieldset.rm-sort-field { margin:20px 0 0; padding:0 0 20px; border:0; border-bottom:1px solid var(--rm-line); min-width:0; }
.rm-sort-field legend { color:var(--rm-wine); font-size:12px; font-weight:600; margin-bottom:10px; }
.rm-sort-dropdown { position:relative; }
.rm-sort-dropdown > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; list-style:none; cursor:pointer; padding:12px; background:#faf7f2; border:1px solid #d8cbbd; border-radius:5px; color:var(--rm-wine); font-size:12px; line-height:1.5; }
.rm-sort-dropdown > summary::-webkit-details-marker { display:none; }
.rm-sort-chevron { font-size:18px; transition:transform .15s; }
.rm-sort-dropdown[open] .rm-sort-chevron { transform:rotate(180deg); }
.rm-sort-dropdown[open] > summary { border-color:var(--rm-wine); border-radius:5px 5px 0 0; }
.rm-sort-options { padding:5px; background:#fffdf9; border:1px solid #d8cbbd; border-top:0; border-radius:0 0 5px 5px; box-shadow:0 6px 14px #55202c0d; }
.rm-sort-option { display:flex; align-items:center; gap:8px; padding:10px 8px; margin:2px 0; border-radius:3px; font-size:12px; line-height:1.5; cursor:pointer; color:#5b4b43; }
.rm-sort-option:hover { background:#f3ebe1; color:var(--rm-wine); }
.rm-sort-option:has(input:checked) { background:var(--rm-wine); color:white; }
.rm-sort-option input { margin:0; flex:0 0 auto; accent-color:var(--rm-wine); }
.rm-sort-option:has(input:checked) input { accent-color:#e2c791; }
.rm-sort-option:focus-within { outline:2px solid var(--rm-gold); outline-offset:1px; }
.rm-sort-options .rm-sort-option { display:flex; font-weight:400; margin:2px 0; }
/* Homepage selections: actual catalog photos and prices. */
.rm-home-collections { width:100%; max-width:1200px; padding:30px 24px 10px; margin:0 auto; box-sizing:border-box; }
.rm-home-selection { padding:44px 0 20px; border-top:1px solid var(--rm-line); }
.rm-home-selection > header { text-align:center; max-width:760px; margin:0 auto 30px; }
.home .rm-home-selection h2 { font:clamp(28px,4vw,42px)/1.2 Georgia,serif !important; color:var(--rm-wine); margin:12px 0 16px; }
.rm-home-selection > header p { font-size:14px; line-height:1.8; color:#75685e; margin:0; }
.rm-home-selection ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:20px; margin:0 !important; }
.rm-home-selection ul.products::before,.rm-home-selection ul.products::after { display:none !important; }
.rm-home-selection ul.products li.product { width:auto !important; float:none !important; margin:0 !important; }
.rm-home-selection .astra-shop-thumbnail-wrap img { width:100%; aspect-ratio:1; object-fit:contain; background:#f8f6f2; }
@media(max-width:767px){ .rm-home-collections { padding:20px 16px 0; } .rm-home-selection { padding-top:32px; } .rm-home-selection ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; } }
/* Homepage collection carousels; native horizontal scrolling works without JS. */
.rm-home-selection { position:relative; }
.rm-home-selection ul.products { display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; gap:20px; padding:4px 2px 16px !important; scrollbar-width:thin; scrollbar-color:#bfa98b #eee7de; }
.rm-home-selection ul.products li.product { flex:0 0 calc((100% - 60px)/4); min-width:0; scroll-snap-align:start; }
.rm-carousel-controls { display:flex; justify-content:center; align-items:center; gap:14px; margin:12px 0 20px; }
.rm-carousel-controls button { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:1px solid #bba280; border-radius:50%; background:#fffdf9; color:var(--rm-wine); font-size:22px; }
.rm-carousel-controls button:hover { background:var(--rm-wine); color:white; }
.rm-carousel-controls button:disabled { opacity:.3; cursor:default; background:#fffdf9; color:var(--rm-wine); }
.rm-carousel-position { font-size:12px; color:#77695f; min-width:42px; text-align:center; }
@media(max-width:921px){ .rm-home-selection ul.products li.product { flex-basis:calc((100% - 40px)/3); } }
@media(max-width:767px){ .rm-home-selection ul.products { gap:12px; } .rm-home-selection ul.products li.product { flex-basis:calc((100% - 24px)/2.15); } }
@media(prefers-reduced-motion:reduce){ .rm-home-selection ul.products { scroll-behavior:auto; } }
/* Keep Elementor bestseller section structure while sharing carousel controls. */
.home .rm-home-bestsellers { border-top:0; }
.home .rm-home-bestsellers ul.products { width:100%; box-sizing:border-box; }
.home .rm-home-bestsellers .rm-carousel-controls { margin-top:12px; }
/* Refined homepage editorial area. */
.home .elementor-element-c235c63 { padding:50px 24px 24px !important; border-top:1px solid var(--rm-line); }
.home .elementor-element-c235c63 .elementor-widget-wrap { padding:0 !important; }
.home .elementor-element-c235c63 .elementor-heading-title { font:clamp(30px,4vw,42px)/1.2 Georgia,serif !important; color:var(--rm-wine); text-align:center; margin:0 !important; }
.rm-journal-eyebrow { display:block; color:var(--rm-gold); text-align:center; letter-spacing:2px; font-size:10px; margin-bottom:12px; }
.rm-journal-intro { text-align:center; color:#786b61; font-size:14px; line-height:1.8; margin:14px auto 0; max-width:580px; }
.home .elementor-element-7cc2000 { padding:12px 24px 60px !important; }
.home .elementor-element-7cc2000 > .elementor-container { max-width:1152px; }
.home .elementor-element-7cc2000 .elementor-widget-wrap { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0 !important; }
.home .elementor-element-7cc2000 .elementor-widget-image-box { width:100% !important; margin:0 !important; background:#fff; border:1px solid var(--rm-line); border-radius:7px; overflow:hidden; }
.home .elementor-element-7cc2000 .elementor-image-box-img { width:100% !important; margin:0 !important; display:block; }
.home .elementor-element-7cc2000 .elementor-image-box-img a { display:block; }
.home .elementor-element-7cc2000 .elementor-image-box-img img { width:100%; aspect-ratio:1.15; object-fit:contain; background:#f2f0ec; display:block; }
.home .elementor-element-7cc2000 .elementor-image-box-content { padding:24px; text-align:left; }
.home .elementor-element-7cc2000 .elementor-image-box-title { font:24px/1.3 Georgia,serif !important; margin:10px 0 12px !important; color:var(--rm-wine); }
.home .elementor-element-7cc2000 .elementor-image-box-title a { color:inherit; }
.home .elementor-element-7cc2000 .elementor-image-box-description { font-size:14px !important; line-height:1.8 !important; color:#786b61; }
.rm-journal-label { color:var(--rm-gold); font-size:10px; letter-spacing:1.4px; text-transform:uppercase; }
.rm-journal-link { display:inline-block; color:var(--rm-wine); font-size:12px; margin-top:18px; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:767px){ .home .elementor-element-7cc2000 .elementor-widget-wrap { grid-template-columns:1fr; gap:20px; } .home .elementor-element-7cc2000 .elementor-image-box-img img { aspect-ratio:1.45; } }
.home .elementor-element-7cc2000 .elementor-widget-image-box { max-width:100% !important; min-width:0; }
/* Three balanced service blocks above the footer. */
.elementor-section.rm-services-strip { background:#f2ede5 !important; border-top:1px solid #e5d9c9; border-bottom:1px solid #e5d9c9; padding:36px 24px !important; }
.rm-services-strip > .elementor-container { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; max-width:1152px !important; }
.rm-service-card { display:flex; align-items:flex-start; gap:16px; padding:12px 28px; border-right:1px solid #d9cbb8; }
.rm-service-card:first-child { padding-left:0; }
.rm-service-card:last-child { border-right:0; padding-right:0; }
.rm-service-icon { display:flex; align-items:center; justify-content:center; flex:0 0 44px; height:44px; border:1px solid #cdb696; color:var(--rm-wine); border-radius:50%; font-size:18px; background:#faf7f1; }
.rm-service-card h3 { font:22px/1.3 Georgia,serif; color:var(--rm-wine); margin:0 0 10px !important; }
.rm-service-card p { font-size:13px; line-height:1.8; color:#75675b; margin:0 0 12px; }
.rm-service-card a { color:var(--rm-wine); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:767px){
 .rm-services-strip > .elementor-container { grid-template-columns:1fr; }
 .rm-service-card,.rm-service-card:first-child,.rm-service-card:last-child { padding:22px 0; border-right:0; border-bottom:1px solid #d9cbb8; }
 .rm-service-card:last-child { border-bottom:0; }
 .elementor-section.rm-services-strip { padding:12px 24px !important; }
}
/* Compact collection introduction and brand navigation. */
.home .elementor-element-15a1a10 { padding:48px 24px 12px !important; }
.home .elementor-element-15a1a10 .elementor-widget-wrap,.home .elementor-element-b49bb87 .elementor-widget-wrap,.home .elementor-element-bujexst .elementor-widget-wrap { padding:0 !important; }
.rm-collection-eyebrow { display:block; text-align:center; font-size:10px; letter-spacing:2px; color:var(--rm-gold); margin-bottom:14px; }
.home .elementor-element-15a1a10 .elementor-heading-title { font:clamp(28px,4vw,44px)/1.2 Georgia,serif !important; color:var(--rm-wine); text-align:center; max-width:780px; margin:0 auto; }
.home .elementor-element-b49bb87 { padding:0 24px 24px !important; }
.home .elementor-element-a1771bd { margin:0 !important; font-size:14px !important; font-weight:400 !important; line-height:1.8; color:#786b61; text-align:center; }
.home .elementor-element-bujexst { padding:0 24px 22px !important; }
.home .elementor-element-bujexst > .elementor-container { max-width:1152px; }
.rm-logo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; width:100%; }
.rm-logo-grid a { display:flex; align-items:center; justify-content:center; background:#fffdf9; border:1px solid var(--rm-line); border-radius:5px; height:82px; padding:14px; transition:border-color .2s; }
.rm-logo-grid a:hover { border-color:var(--rm-gold); }
.rm-logo-grid img { width:100%; height:48px; object-fit:contain; }
.home .elementor-element-3173c19 { padding:0 24px 36px !important; }
.home .elementor-element-1487b2c { margin-bottom:16px !important; font-size:13px !important; font-weight:400 !important; text-align:center; color:#786b61; }
.rm-collection-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:32px; }
.home .rm-collection-actions .elementor-button { background:var(--rm-wine); color:white; box-shadow:none !important; border:1px solid var(--rm-wine); min-width:180px; }
.home .rm-collection-actions .elementor-button:last-child { background:transparent; color:var(--rm-wine); }
@media(max-width:767px){ .rm-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .rm-logo-grid a { height:70px; padding:10px; } .rm-logo-grid img { height:38px; } .home .rm-collection-actions .elementor-button { min-width:140px; padding:14px 16px !important; } }
.home .elementor-element-15a1a10 .elementor-heading-title { text-transform:none !important; }
.home .elementor-element-4cac998 .rm-collection-actions .elementor-button:last-child { background:transparent !important; color:var(--rm-wine) !important; }
.home .elementor-element-1487b2c { margin-top:6px !important; }
/* Seamless animated brand ribbon, paused for deliberate interaction. */
.rm-logo-grid.rm-logo-marquee { display:block; overflow:hidden; padding:4px 0; }
.rm-logo-track { display:flex; width:max-content; animation:rm-brands-flow 28s linear infinite; }
.rm-logo-group { display:flex; gap:14px; padding-right:14px; }
.rm-logo-marquee .rm-logo-group a { width:168px; flex:0 0 168px; height:86px; box-sizing:border-box; }
.rm-logo-marquee:hover .rm-logo-track,.rm-logo-marquee:focus-within .rm-logo-track { animation-play-state:paused; }
@keyframes rm-brands-flow { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:767px){ .rm-logo-marquee .rm-logo-group a { width:135px; flex-basis:135px; height:76px; } .rm-logo-track { animation-duration:32s; } }
@media(prefers-reduced-motion:reduce){ .rm-logo-track { animation:none; width:100%; } .rm-logo-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; padding:0; } .rm-logo-marquee .rm-logo-group a { width:100%; } .rm-logo-copy { display:none; } }
.rm-brand-wordmark { font:18px/1.3 Georgia,serif; color:#444b50; text-align:center; }
.rm-logo-track { animation-duration:48s; }
@media(max-width:767px){ .rm-logo-track { animation-duration:52s; } }
.rm-auto-filter .rm-filter-apply { display:none !important; }
.rm-auto-filter[aria-busy="true"] { opacity:.65; pointer-events:none; }
.rm-catalog-results[aria-busy="true"] { opacity:.55; }
form.checkout #billing_phone_country { width:100%; min-height:46px; padding:10px 12px; border:1px solid #d8d2cb; border-radius:4px; background:#faf7f2; color:#521b29; font-size:14px; }
form.checkout .rm-combined-phone { display:flex !important; align-items:stretch; width:100%; border:1px solid #d8d2cb; border-radius:4px; background:#fff; overflow:hidden; }
form.checkout .rm-combined-phone:focus-within { outline:2px solid var(--rm-gold); outline-offset:2px; }
form.checkout .rm-combined-phone #billing_phone_country { flex:0 0 98px; width:98px !important; min-width:0; max-width:98px; border:0 !important; border-right:1px solid #e5ddd2 !important; border-radius:0; padding:10px 8px; min-height:46px; outline:0; }
.single-product .summary form.checkout .rm-combined-phone #billing_phone,form.checkout .rm-combined-phone #billing_phone { flex:1 1 auto; width:calc(100% - 98px) !important; min-width:0; border:0 !important; border-radius:0; outline:0 !important; box-shadow:none; }
form.checkout #billing_phone_country_field[hidden] { display:none !important; }
/* Consistent checkout field sizing, including the combined phone control. */
.single-product .summary form.checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row { margin:0 0 18px !important; padding:0 !important; }
form.checkout .woocommerce-billing-fields__field-wrapper label { display:block; margin:0 0 7px !important; line-height:1.5 !important; }
form.checkout .rm-combined-phone { height:46px !important; min-height:46px !important; box-sizing:border-box; align-items:center !important; }
form.checkout .rm-combined-phone #billing_phone_country { height:44px !important; min-height:44px !important; line-height:normal !important; margin:0 !important; align-self:stretch; padding:0 24px 0 12px !important; font-size:14px !important; appearance:auto; }
.single-product .summary form.checkout .rm-combined-phone #billing_phone,
.woocommerce-checkout form.checkout .rm-combined-phone #billing_phone { height:44px !important; min-height:44px !important; max-height:44px; line-height:normal !important; margin:0 !important; padding:0 12px !important; box-sizing:border-box; font-size:15px; align-self:center; }
form.checkout .rm-combined-phone #billing_phone_country { flex-basis:94px; width:94px !important; max-width:94px; }
form.checkout .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper { margin:0 !important; }
@media(max-width:544px){form.checkout .rm-combined-phone #billing_phone_country { flex-basis:86px; width:86px !important; max-width:86px; padding-left:10px !important; } }
/* Match checkout outlines to the RoyalMontre burgundy button. */
.single-product .summary form.checkout,
.woocommerce-checkout:not(.single-product) form.checkout { border-color:#701b30 !important; }
.single-product .summary form.checkout input.input-text:not(#billing_phone),
.woocommerce-checkout form.checkout input.input-text:not(#billing_phone),
form.checkout .rm-combined-phone,
form.checkout textarea,
form.checkout select:not(#billing_phone_country) { border-color:#701b30 !important; }
form.checkout .rm-combined-phone #billing_phone_country { border-right-color:#701b30 !important; }
.single-product .summary form.checkout .woocommerce-billing-fields h3,
.woocommerce-checkout form.checkout .woocommerce-billing-fields h3 { border-bottom-color:#701b30 !important; }
.single-product .summary form.checkout input:focus,
.woocommerce-checkout form.checkout input:focus,
form.checkout .rm-combined-phone:focus-within { outline-color:#701b30 !important; }
form.checkout .woocommerce-billing-fields__field-wrapper label { font-weight:500 !important; color:#521b29; }
/* Editorial homepage hero. */
.rm-hero { position:relative; background:#f7f2eb; overflow:hidden; outline-offset:-3px; }
.rm-hero-slide { display:grid; grid-template-columns:45% 55%; min-height:530px; }
.rm-hero-slide[hidden] { display:none; }
.rm-hero-copy { padding:65px clamp(28px,5vw,90px) 100px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.rm-hero-copy .rm-eyebrow { letter-spacing:2px; font-size:10px; }
.home .rm-hero-copy h1,.home .rm-hero-copy h2 { font:clamp(36px,4.4vw,68px)/1.08 Georgia,serif !important; color:#701b30; text-transform:none; margin:22px 0 !important; letter-spacing:-1.5px; }
.rm-hero-copy p { font-size:15px; line-height:1.9; color:#706359; max-width:390px; margin:0 0 28px; }
.rm-hero-cta { display:inline-flex; gap:20px; justify-content:space-between; align-items:center; background:#701b30; color:#fff !important; padding:16px 20px; border-radius:3px; font-size:12px; line-height:1.5; }
.rm-hero-cta:hover { background:#511525; }
.rm-hero-photo { min-width:0; overflow:hidden; }
.rm-hero-photo img { width:100%; height:100%; max-height:650px; min-height:530px; object-fit:cover; object-position:55% 65%; display:block; }
.rm-hero-slide:nth-child(2) .rm-hero-photo img { object-position:72% 76%; }
.rm-hero-slide:nth-child(3) .rm-hero-photo img { object-position:center; }
.rm-hero-controls { position:absolute; bottom:28px; left:clamp(28px,5vw,90px); display:flex; gap:15px; align-items:center; }
.rm-hero-controls button { padding:0; background:transparent; border:0; color:#701b30; min-width:24px; height:30px; font-size:18px; }
.rm-hero-counter { font-size:11px; color:#81705e; letter-spacing:1px; }
.rm-hero-dots { display:flex; gap:7px; margin-left:10px; }
.rm-hero-dots button { width:6px; min-width:6px; height:6px; border-radius:50%; background:#d0bdab; }
.rm-hero-dots button[aria-pressed=true] { background:#701b30; }
.rm-hero-controls .rm-hero-pause { font-size:12px; margin-left:4px; }
.rm-hero-slide:not([hidden]) .rm-hero-copy { animation:rm-hero-enter .5s ease-out; }
@keyframes rm-hero-enter { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none} }
@media(max-width:767px){
 .rm-hero-slide { grid-template-columns:1fr; min-height:0; }
 .rm-hero-photo { grid-row:1; height:290px; }
 .rm-hero-photo img { height:290px; min-height:0; object-position:55% 65%; }
 .rm-hero-copy { padding:32px 24px 76px; min-height:330px; }
 .home .rm-hero-copy h1,.home .rm-hero-copy h2 { font-size:36px !important; letter-spacing:-.8px; margin:16px 0 !important; }
 .rm-hero-copy p { font-size:14px; margin-bottom:20px; }
 .rm-hero-controls { left:24px; bottom:20px; }
}
@media(prefers-reduced-motion:reduce){ .rm-hero-slide:not([hidden]) .rm-hero-copy { animation:none; } }
@media(min-width:768px){ .rm-hero-slide { height:560px; min-height:560px; } .rm-hero-photo img { height:560px; min-height:0; max-height:none; } .rm-hero-copy { padding-top:40px; padding-bottom:90px; } }
.rm-hero-slide:nth-child(3) .rm-hero-photo img { object-position:50% 65%; }
@media(max-width:767px){ .rm-hero-slide:nth-child(3) .rm-hero-photo img { object-position:50% 65%; } }
.rm-hero-slide:first-child .rm-hero-photo img { object-position:50% 50%; }
/* Brand discovery directory. */
.page-id-523 #primary { margin:0 !important; }
.rm-directory { max-width:1200px; margin:auto; padding:48px 24px 54px; }
.rm-directory-header { text-align:center; padding:16px 0 36px; max-width:720px; margin:auto; }
.rm-directory-header h1 { font:clamp(36px,5vw,58px)/1.1 Georgia,serif; letter-spacing:-1px; color:var(--rm-wine); margin:18px 0 22px; }
.rm-directory-header p { color:#79695e; font-size:15px; line-height:1.8; max-width:560px; margin:0 auto 24px; }
.rm-directory-genders { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.rm-directory-genders a { padding:12px 20px; border:1px solid var(--rm-wine); border-radius:4px; color:var(--rm-wine); font-size:13px; }
.rm-directory-genders a:first-child { background:var(--rm-wine); color:#fff; }
.rm-directory-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:24px 0; border-top:1px solid var(--rm-line); }
.rm-directory-toolbar > div { flex:1; max-width:560px; }
.rm-directory-toolbar label { display:block; font-size:12px; color:var(--rm-wine); margin-bottom:8px; }
#rm-brand-search { width:100%; background:#fff; border:1px solid #c9b498; border-radius:4px; padding:13px 16px; font-size:14px; }
.rm-directory-count { color:#7d6d60; font-size:12px; padding-bottom:13px; }
.rm-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rm-directory-card { background:white; border:1px solid var(--rm-line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.rm-directory-card[hidden] { display:none; }
.rm-directory-visual { display:block; background:#f1ede7; overflow:hidden; }
.rm-directory-visual img { display:block; width:100%; aspect-ratio:1.35; object-fit:contain; mix-blend-mode:multiply; padding:14px; transition:transform .3s; }
.rm-directory-visual:hover img { transform:scale(1.04); }
.rm-directory-card-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.rm-directory-brand-logo { height:38px; display:flex; align-items:center; margin-bottom:18px; }
.rm-directory-brand-logo img { width:140px; height:38px; object-fit:contain; object-position:left center; }
.rm-directory-brand-logo span { font:20px/1.2 Georgia,serif; color:#625146; }
.rm-directory-card h2 { font:26px/1.25 Georgia,serif; margin:0 0 8px; }
.rm-directory-card h2 a { color:var(--rm-wine); }
.rm-directory-meta { font-size:12px; color:#8a7969; margin:0 0 18px; }
.rm-directory-collections { border-top:1px solid var(--rm-line); padding:12px 0; margin-bottom:10px; }
.rm-directory-collections summary { font-size:12px; cursor:pointer; color:var(--rm-wine); }
.rm-directory-collections summary > span { float:right; color:#8a7969; }
.rm-directory-collections ul { list-style:none; margin:12px 0 0; }
.rm-directory-collections li a { display:flex; justify-content:space-between; padding:7px 0; font-size:12px; color:#6a594d; }
.rm-directory-card-link { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--rm-line); color:var(--rm-wine); font-size:12px; margin-top:auto; }
.rm-directory-empty { padding:36px 16px; background:#f1e9de; border-radius:5px; text-align:center; color:var(--rm-wine); }
.rm-directory-help { margin-top:36px; padding:30px; background:#efe8dd; border-radius:7px; display:flex; gap:24px; justify-content:space-between; align-items:center; }
.rm-directory-help h2 { font:28px/1.3 Georgia,serif; color:var(--rm-wine); margin:12px 0; }
.rm-directory-help p { font-size:13px; color:#776658; margin:0; }
.rm-directory-help > a { color:var(--rm-wine); white-space:nowrap; font-size:13px; border-bottom:1px solid var(--rm-wine); padding-bottom:5px; }
@media(max-width:767px){ .rm-directory { padding:28px 16px; } .rm-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .rm-directory-card-body { padding:16px; } .rm-directory-card h2 { font-size:22px; } .rm-directory-help { flex-direction:column; align-items:flex-start; padding:24px; } .rm-directory-toolbar { align-items:stretch; flex-direction:column; gap:8px; } .rm-directory-count { padding:0; } }
@media(max-width:430px){ .rm-directory-grid { grid-template-columns:1fr; } }
.rm-directory-unavailable { display:flex; align-items:center; justify-content:center; aspect-ratio:1.35; padding:24px; text-align:center; font:20px/1.5 Georgia,serif; color:#8a7765; }
/* RoyalMontre watermark: reversible overlay, original media files preserved. */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce-product-gallery__image > a,
.rm-directory-visual { position:relative; }
.woocommerce-product-gallery__image > a { display:block; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after,
.woocommerce-product-gallery__image > a::after,
.rm-directory-visual:has(img)::after {
 content:'';
 display:block;
 position:absolute;
 right:7px;
 bottom:7px;
 width:25%;
 max-width:100px;
 height:auto;
 aspect-ratio:130 / 93;
 background:url('/wp-content/uploads/2026/03/cropped-logo_royalmontremaroc2026-130x93.png') center / contain no-repeat;
 opacity:.74;
 pointer-events:none;
 z-index:2;
 filter:drop-shadow(0 1px 1px #ffffffa6);
}
.woocommerce-product-gallery__image > a::after { width:20%; max-width:130px; right:16px; bottom:16px; }
@media(max-width:544px){ .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after { right:4px; bottom:4px; width:26%; opacity:.8; } }
/* Round RoyalMontre seal, inspired by a classic gold medallion. */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after,
.woocommerce-product-gallery__image > a::after,
.rm-directory-visual:has(img)::after {
 background-image:url('/wp-content/uploads/2026/03/royalmontre-seal-hd.svg');
 aspect-ratio:1;
 opacity:.94;
 left:7px;
 right:auto;
 bottom:7px;
 width:26%;
 max-width:95px;
 filter:drop-shadow(0 1px 2px #0002);
}
.woocommerce-product-gallery__image > a::after { width:21%; max-width:125px; left:14px; bottom:14px; }
@media(max-width:544px){ .woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after { left:4px; bottom:4px; width:27%; } }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title { text-transform:none !important; }
