@import url("https://fonts.googleapis.com/css2?family=Baskervville:ital@0;1&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Birthstone&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap");
:root {
    --primary-color: #1a2b58d9;
    --secondary-color: #ffb100;
    --white-color: #ffffff;
    --black-color: #000000;
    --font-family: "Cinzel", serif;
}

/* Storefront foundation — extends the original Raman navy, gold and serif language. */
html { scroll-behavior: smooth; }
body { color: #171717; background: #fff; font-family: "Nunito Sans", sans-serif; }
h1, h2, h3, .navbar-brand, .footer-brand { font-family: "Cinzel", serif; }
a { color: inherit; }
.eyebrow { display: block; margin-bottom: .65rem; color: #9a6a11; font: 700 .72rem/1.2 "Nunito Sans", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.section-space { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.section-heading { margin-bottom: 2rem; }
.section-heading h1, .section-heading h2, .catalogue-hero h1 { margin-bottom: .75rem; color: #172345; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: .02em; text-transform: none; }
.section-heading p, .catalogue-hero p { max-width: 42rem; margin-bottom: 0; color: #646464; }
.section-heading.text-center p, .catalogue-hero p { margin-inline: auto; }
.bg-soft { background: #f7f4ee; }
.PrimaryButton { border: 1px solid #172345; border-radius: 0; background: #172345; padding: .8rem 1.25rem; color: #fff; font-weight: 700; letter-spacing: .04em; }
.PrimaryButton:hover, .PrimaryButton:focus { border-color: #be8a2a; background: #be8a2a; color: #fff; }
.storefront-secondary { border-radius: 0; padding: .8rem 1.25rem; background: rgba(255,255,255,.72); }
.text-link { color: #172345; font-weight: 700; text-decoration: none; }
.text-link:hover { color: #9a6a11; }

.main-navigation { z-index: 1030; background: #fff; }
.fixed_navbar { position: sticky; top: 0; }
.gold-rate-topbar { background: #111a34; color: #fff; border-bottom: 1px solid rgba(239, 201, 120, .35); }
.gold-rate-topbar-inner { display: flex; min-height: 2rem; align-items: center; justify-content: space-between; gap: 1.25rem; }
.topbar-assurance { margin: 0; color: #dce1ee; font-size: .67rem; letter-spacing: .07em; }
.topbar-links { display: flex; flex: 0 0 auto; align-items: center; gap: 1.2rem; margin-left: auto; }
.topbar-links a { display: inline-flex; align-items: center; gap: .4rem; color: #dce1ee; font-size: .7rem; text-decoration: none; }
.topbar-links a:hover, .topbar-links a:focus { color: #efc978; }
.live-gold-rate { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; color: #dce1ee; font-size: .72rem; }
.live-gold-rate strong { color: #efc978; font-size: .82rem; }
.live-gold-rate time { padding-left: .45rem; border-left: 1px solid #64708f; color: #aeb7cb; font-size: .65rem; }
.live-rate-dot { width: .45rem; height: .45rem; border-radius: 50%; background: #55c982; box-shadow: 0 0 0 3px rgba(85, 201, 130, .15); animation: live-rate-pulse 2s infinite; }
@keyframes live-rate-pulse { 50% { box-shadow: 0 0 0 6px rgba(85, 201, 130, 0); } }
/* Customer account, authentication and payment experience */
.customer-auth-page{min-height:760px;background:#f4f1ea;padding:64px 20px}.customer-auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);max-width:1160px;margin:auto;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(17,26,52,.14)}.customer-auth-story{position:relative;overflow:hidden;background:#111a34;padding:80px 70px;color:#fff}.customer-auth-story:after{position:absolute;right:-200px;bottom:-230px;width:560px;height:560px;border:1px solid rgba(210,163,72,.25);border-radius:50%;box-shadow:0 0 0 80px rgba(210,163,72,.04),0 0 0 160px rgba(210,163,72,.025);content:''}.customer-auth-story>*{position:relative;z-index:1}.customer-auth-story h1{max-width:520px;margin:12px 0 22px;font:400 clamp(2.8rem,5vw,4.6rem)/.98 Georgia,serif}.customer-auth-story>p{max-width:500px;color:#c5ccdc;line-height:1.75}.customer-auth-benefits{margin-top:50px}.customer-auth-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:17px 0;border-top:1px solid rgba(255,255,255,.14)}.customer-auth-benefits i{color:#d2a348;font-size:1.3rem}.customer-auth-benefits strong,.customer-auth-benefits small{display:block}.customer-auth-benefits small{margin-top:4px;color:#aeb7cb}.customer-auth-card{padding:55px 60px}.customer-auth-brand{display:inline-flex;gap:12px;align-items:center;margin-bottom:38px;color:#111a34;text-decoration:none;font:600 1.15rem Georgia,serif}.customer-auth-brand img{width:46px;height:46px}.customer-auth-brand span,.customer-auth-brand small{display:block}.customer-auth-brand small{margin-top:2px;color:#8c7650;font:700 .54rem Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}.customer-auth-card h2{margin:6px 0 8px;color:#111a34;font:400 2.5rem Georgia,serif}.customer-auth-intro{margin-bottom:28px;color:#777}.customer-auth-form>label,.customer-auth-grid label,.customer-auth-label label{display:block;margin:15px 0 7px;color:#30384c;font-size:.74rem;font-weight:800}.customer-auth-input{display:flex;align-items:center;border:1px solid #d9d4ca;background:#fdfcf9}.customer-auth-input>i{padding-left:14px;color:#a67621}.customer-auth-input input{width:100%;border:0;background:transparent;padding:13px 12px;color:#172345;outline:none}.customer-auth-input:focus-within{border-color:#b78329;box-shadow:0 0 0 3px rgba(183,131,41,.09)}.password-toggle{border:0;background:none;padding:12px;color:#7d8493}.customer-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-auth-check{display:flex!important;gap:9px;align-items:center;margin:18px 0!important;color:#666!important;font-weight:500!important}.customer-auth-submit{display:flex;width:100%;justify-content:space-between;border:0;background:#172345;padding:15px 17px;color:#fff;font-weight:800}.customer-auth-submit:hover{background:#b17d22}.customer-auth-switch{margin:24px 0 8px;color:#777;text-align:center}.customer-auth-switch a,.customer-auth-guest{color:#9a6a11;font-weight:800}.customer-auth-guest{display:block;text-align:center}.customer-auth-hint{display:block;margin-top:8px;color:#8a8a8a}.auth-alert{display:flex;gap:9px;margin-bottom:17px;padding:11px 13px;font-size:.82rem}.auth-alert--error{background:#fff0ee;color:#8e342b}.auth-alert--success{background:#e8f5ec;color:#24633a}.auth-alert span{display:block}
.checkout-account-choice{display:grid;grid-template-columns:1fr auto auto 1fr;gap:18px;align-items:center;margin-bottom:24px;border:1px solid #ded7c9;background:#fff;padding:18px 22px}.checkout-account-choice>div{display:flex;gap:12px;align-items:center}.checkout-account-choice__icon{display:grid;width:42px;height:42px;border-radius:50%;background:#172345;color:#fff;place-items:center}.checkout-account-choice strong,.checkout-account-choice small{display:block}.checkout-account-choice p{margin:3px 0 0;color:#777;font-size:.78rem}.checkout-account-choice>a{border:1px solid #172345;padding:10px 17px;color:#172345;font-weight:800;text-decoration:none}.checkout-account-choice__divider{color:#aaa;font-size:.7rem;text-transform:uppercase}.checkout-guest-confirm i{color:#b17d22}.checkout-guest-confirm small{margin-top:3px;color:#777}.checkout-signed-in{margin-bottom:24px;background:#edf6ef;padding:13px 18px;color:#285c37}.checkout-signed-in i{margin-right:7px;color:#278348}.payment-selection-form{padding:32px}.payment-featured{position:relative;border:2px solid #be8a2a;background:#fffaf0;padding:8px}.payment-featured__label{position:absolute;top:-11px;left:20px;background:#be8a2a;padding:4px 9px;color:#fff;font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.payment-featured label,.payment-option-list label{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:20px;cursor:pointer}.payment-featured input,.payment-option-list input{position:absolute;opacity:0}.payment-method-icon{display:grid;width:46px;height:46px;border-radius:50%;background:#172345;color:#fff;place-items:center;font-size:1.2rem}.payment-method-copy strong,.payment-method-copy small,.payment-method-copy em{display:block}.payment-method-copy small{margin-top:4px;color:#6f6f6f}.payment-method-copy em{margin-top:7px;color:#997019;font-size:.68rem;font-style:normal;font-weight:800}.payment-method-check{color:#b37e22;font-size:1.25rem}.payment-options-title{margin:28px 0 8px!important;font-size:1.25rem!important}.payment-option-list{border:1px solid #dfdad1}.payment-option-list label+label{border-top:1px solid #ece8e0}.payment-option-list label:has(input:checked){background:#fffaf0}.guest-payment-note{display:flex;gap:14px;margin-top:24px;background:#f0f3f8;padding:18px;color:#172345}.guest-payment-note>i{font-size:1.4rem}.guest-payment-note strong,.guest-payment-note span,.guest-payment-note a{display:block}.guest-payment-note span{margin:4px 0 8px;color:#707789;font-size:.8rem}.guest-payment-note a{color:#9a6a11;font-weight:800}
.customer-dashboard-page{min-height:70vh;background:#f5f2ec;padding-bottom:80px}.customer-dashboard-hero{background:#111a34;padding:55px 0 72px;color:#fff}.customer-dashboard-hero .container{display:flex;align-items:center;justify-content:space-between}.customer-dashboard-hero h1{margin:5px 0 10px;font:400 clamp(2.5rem,5vw,4.1rem) Georgia,serif}.customer-dashboard-hero p{margin:0;color:#c5cbd9}.customer-monogram{display:grid;width:92px;height:92px;border:1px solid #c7973d;border-radius:50%;color:#d7ac5e;font:400 2rem Georgia,serif;place-items:center}.customer-dashboard-layout{display:grid;grid-template-columns:235px 1fr;gap:35px;align-items:start;margin-top:-34px}.customer-dashboard-alert{grid-column:1/-1;margin:0}.customer-dashboard-nav{position:sticky;top:20px;background:#fff;padding:15px;box-shadow:0 16px 45px rgba(17,26,52,.09)}.customer-dashboard-nav a,.customer-dashboard-nav button{display:flex;width:100%;gap:11px;align-items:center;border:0;background:transparent;padding:12px 13px;color:#596071;text-align:left;text-decoration:none}.customer-dashboard-nav .active,.customer-dashboard-nav a:hover{background:#172345;color:#fff}.customer-dashboard-nav form{margin-top:10px;border-top:1px solid #ece7df;padding-top:10px}.customer-dashboard-content{display:grid;gap:25px}.customer-dashboard-content>section{scroll-margin-top:30px}.customer-dashboard-heading,.customer-account-panel>header{display:flex;align-items:end;justify-content:space-between}.customer-dashboard-heading h2,.customer-account-panel h2{margin:4px 0 0;color:#172345;font:400 2rem Georgia,serif}.customer-dashboard-heading>a,.customer-account-panel header>a,.customer-account-panel header>button{border:0;background:none;color:#9a6a11;font-weight:800;text-decoration:none}.customer-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.customer-metric-grid article{border:1px solid #e1dcd2;background:#fff;padding:22px}.customer-metric-grid i{color:#bd8830;font-size:1.35rem}.customer-metric-grid span,.customer-metric-grid strong{display:block}.customer-metric-grid span{margin-top:16px;color:#777;font-size:.72rem;text-transform:uppercase}.customer-metric-grid strong{margin-top:3px;color:#172345;font-size:1.8rem}.customer-account-panel{background:#fff;padding:28px;box-shadow:0 14px 42px rgba(17,26,52,.06)}.customer-account-panel>header{margin-bottom:20px}.customer-order-row{display:grid;grid-template-columns:46px 1fr auto auto auto;gap:15px;align-items:center;border-top:1px solid #ece7df;padding:16px 0;color:#172345;text-decoration:none}.customer-order-gem{display:grid;width:42px;height:42px;background:#f5efe4;color:#a67621;place-items:center}.customer-order-row strong,.customer-order-row small{display:block}.customer-order-row small{margin-top:4px;color:#777}.customer-order-status{border-radius:20px;background:#edf1f7;padding:6px 10px;font-size:.68rem;font-weight:800}.customer-empty{padding:28px;color:#777;text-align:center}.customer-address-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.customer-address-card{position:relative;border:1px solid #dfdad1;padding:20px}.customer-address-card>span{position:absolute;top:15px;right:15px;background:#f4e5bd;padding:4px 8px;color:#785810;font-size:.58rem;font-weight:900;text-transform:uppercase}.customer-address-card h3{margin:0 0 10px;color:#172345;font:700 1rem Arial,sans-serif}.customer-address-card address{color:#6b6b6b;font-size:.82rem;line-height:1.6}.customer-address-card>div{display:flex;gap:12px}.customer-address-card button{border:0;background:none;padding:0;color:#9a6a11;font-size:.74rem;font-weight:800}.customer-address-card button.danger{color:#a0473d}.customer-account-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:10px}.customer-account-form label{display:block;margin-bottom:5px;color:#596071;font-size:.7rem;font-weight:800}.customer-account-form input{width:100%;border:1px solid #d9d4ca;padding:11px}.customer-account-form .wide{grid-column:1/-1}.customer-account-form button.wide{border:0;background:#172345;padding:13px;color:#fff;font-weight:800}.customer-address-form{margin-bottom:25px;border-top:1px solid #ece7df;padding-top:20px}.customer-inline-check{display:flex!important;gap:8px;align-items:center}.customer-inline-check input{width:auto}

@media (max-width: 767px) {
    .gold-rate-topbar-inner { min-height: 2.25rem; justify-content: center; }
    .topbar-assurance { display: none; }
    .topbar-links { width: 100%; justify-content: center; margin-left: 0; }
    .live-gold-rate { font-size: .68rem; }
}
.navbar-brand { display:inline-flex;align-items:center;gap:.7rem;color:#172345;text-decoration:none; }
.navbar-brand .brand-mark { width:54px;height:54px;flex:0 0 54px;border-radius:20px;object-fit:cover;box-shadow:0 6px 18px rgba(52,35,19,.14); }
.brand-wordmark { display:flex;flex-direction:column; }
.navbar-brand h1 { color: #172345; font-size: clamp(1.15rem, 2.2vw, 1.75rem); letter-spacing: .045em;line-height:1.05; }
.brand-wordmark small { margin-top:.2rem;color:#8a725a;font:700 .55rem/1 "Nunito Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase; }
.header-icon-link { display: flex; min-width: 2.4rem; align-items: center; justify-content: center; }
.header-icon-link i { font-size: 1rem; }
.cart-link { position: relative; display: flex; align-items: center; gap: .35rem; }
.cart-link b { display: grid; min-width: 1.3rem; height: 1.3rem; place-items: center; border-radius: 50%; background: #be8a2a; color: #fff; font-size: .7rem; }
.desktop-menu { border-top: 1px solid #ece8df; border-bottom: 1px solid #ece8df; }
.desktop-menu .nav-link { font-size: .75rem; letter-spacing: .08em; }
.storefront-one-line-header { min-height: 78px; border-bottom: 1px solid #e7e7e7; background: #fff !important; }
.storefront-nav-shell { max-width: 1920px; gap: clamp(18px,2.2vw,42px); padding-inline: clamp(18px,2.4vw,48px); }
.storefront-one-line-header .navbar-brand { flex: 0 0 auto; }
.storefront-desktop-nav { min-width: 0; flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: clamp(10px,1.3vw,26px); }
.storefront-category-nav { min-width: 0; flex: 1 1 auto; flex-flow: row nowrap; align-items: center; justify-content: flex-end; gap: clamp(2px,.55vw,12px); }
.storefront-category-nav .nav-item { flex: 0 0 auto; }
.storefront-one-line-header .storefront-category-nav .nav-link { padding: 28px clamp(5px,.55vw,11px); font-size: clamp(.61rem,.65vw,.78rem); letter-spacing: .015em; white-space: nowrap; }
.storefront-action-nav { flex: 0 0 auto; flex-flow: row nowrap; align-items: center; gap: 2px; padding-left: clamp(8px,1vw,18px); border-left: 1px solid #dedede; }
.storefront-action-nav .header-icon-link { width: 42px; min-width: 42px; height: 42px; padding: 0 !important; border-radius: 50%; }
.storefront-action-nav .header-icon-link i { color: #111a34; font-size: 1.28rem; }
.storefront-one-line-header .dropdown-menu { margin-top: 0; }
@media (min-width:992px) and (max-width:1360px) {
    .storefront-one-line-header .brand-mark { width: 44px; height: 44px; flex-basis: 44px; }
    .storefront-one-line-header .brand-wordmark { display: none; }
    .storefront-one-line-header .storefront-category-nav .nav-link { padding-inline: 4px; font-size: .59rem; }
}
.ring-builder-hero { padding:5rem 0;background:radial-gradient(circle at 50% 0,rgba(191,145,60,.15),transparent 38%),#f7f4ee; }
.ring-builder-hero h1 { margin:.4rem 0;color:#172345;font:600 clamp(2.2rem,4vw,4rem)/1.05 "Playfair Display",serif; }
.ring-builder-hero p { max-width:650px;margin:1rem auto 0;color:#67615a; }
.ring-saved-message { margin-bottom:1.5rem;padding:1.1rem 1.25rem;border:1px solid #b9d9c9;border-radius:12px;background:#edf8f2;display:flex;align-items:center;gap:1rem;color:#17654f; }
.ring-saved-message i { font-size:1.6rem; }.ring-saved-message div { display:flex;flex-direction:column; }.ring-saved-message span { font-size:.8rem; }
.builder-progress { margin-bottom:2rem;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #ded8cd; }
.builder-progress span { padding:0 0 1rem;color:#8d867c;font-size:.78rem;font-weight:700;text-align:center; }.builder-progress b { width:1.8rem;height:1.8rem;margin:0 auto .4rem;border-radius:50%;background:#e8e3da;display:grid;place-items:center; }.builder-progress .active { color:#9a6a18;border-bottom:2px solid #b98427; }.builder-progress .active b { background:#172345;color:#fff; }
.builder-step { margin-bottom:1.5rem;border:1px solid #e5e0d8;background:#fff; }.builder-step > header { padding:1.4rem 1.5rem;border-bottom:1px solid #ebe6de;display:flex;align-items:center;gap:1rem; }.builder-step > header > span { width:2.6rem;height:2.6rem;flex:0 0 2.6rem;border-radius:50%;background:#172345;color:#e6c887;display:grid;place-items:center;font-weight:800; }.builder-step h2 { margin:0;color:#172345;font:600 1.4rem "Playfair Display",serif; }.builder-step header p { margin:.25rem 0 0;color:#7c756d;font-size:.82rem; }
.builder-choice-grid { padding:1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem; }.builder-choice { position:relative;margin:0;border:1px solid #e2ddd4;cursor:pointer;transition:.2s; }.builder-choice input { position:absolute;opacity:0; }.builder-choice:has(input:checked) { border-color:#b98427;box-shadow:0 0 0 2px rgba(185,132,39,.14); }.builder-choice__visual { height:130px;background:#f4f1eb;display:grid;place-items:center; }.builder-choice__visual i { color:#b98427;font-size:3.3rem; }.builder-choice__copy { padding:1rem;display:flex;flex-direction:column; }.builder-choice__copy b { color:#172345; }.builder-choice__copy small { margin:.25rem 0;color:#777068; }.builder-choice__copy strong { color:#996b1d;font-size:.85rem; }
.builder-diamond-table { overflow-x:auto; }.builder-diamond-head,.builder-diamond { min-width:760px;padding:.85rem 1.2rem;display:grid;grid-template-columns:.8fr .7fr 1fr 1.4fr .8fr 40px;align-items:center;gap:.7rem; }.builder-diamond-head { background:#faf9f6;color:#817a70;font-size:.7rem;font-weight:800;text-transform:uppercase; }.builder-diamond { margin:0;border-top:1px solid #eee9e1;color:#423e39;font-size:.82rem;cursor:pointer; }.builder-diamond:hover { background:#fffcf6; }.builder-diamond:has(input:checked) { background:#fff7e8; }.builder-diamond input { width:1rem;height:1rem;accent-color:#b98427; }.builder-no-diamonds { padding:1.5rem;color:#8b3f46; }
.builder-personalise-grid { padding:1.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }.builder-review { padding:1.6rem 1.8rem;background:#172345;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem; }.builder-review h2 { color:#fff;font:600 1.8rem "Playfair Display",serif; }.builder-review p,.builder-review small { color:#bfc6d5; }.builder-total { min-width:260px;display:flex;flex-direction:column;text-align:right; }.builder-total span { color:#c6ccda;font-size:.8rem; }.builder-total strong { margin:.25rem 0 .8rem;color:#e6c887;font:600 2rem "Playfair Display",serif; }
@media(max-width:991px){.builder-choice-grid{grid-template-columns:1fr 1fr}.builder-personalise-grid{grid-template-columns:1fr 1fr}.builder-review{align-items:flex-start;flex-direction:column}.builder-total{width:100%;text-align:left}}
@media(max-width:575px){.builder-choice-grid,.builder-personalise-grid{grid-template-columns:1fr}.builder-progress span{font-size:.65rem}.builder-step>header{padding:1rem}.builder-review{padding:1.2rem}}

.storefront-hero .ban_img { min-height: 640px; background: #eee; }
.storefront-hero .ban_img > img { width: 100%; min-height: 640px; object-fit: cover; object-position: center; }
.storefront-hero .ban_img::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.62) 34%, transparent 67%); }
.storefront-hero .ban_text { z-index: 1; width: min(610px, 90%); }
.storefront-hero .ban_text strong { display: block; color: #172345; font: 600 clamp(2.4rem, 5.2vw, 4.8rem)/1.02 "Playfair Display", serif; letter-spacing: -.025em; text-transform: none; }
.storefront-hero .ban_text p { max-width: 560px; color: #383838; font: 400 clamp(1rem, 1.6vw, 1.22rem)/1.65 "Nunito Sans", sans-serif; }
.trust-strip { padding: 1.15rem 0; border-block: 1px solid #e8e2d7; background: #fff; }
.trust-strip .col-6 { display: flex; align-items: center; justify-content: center; gap: .55rem; color: #172345; font-size: .78rem; font-weight: 700; letter-spacing: .03em; }
.trust-strip i { color: #b27b17; font-size: 1.1rem; }

.category-tile { position: relative; display: block; overflow: hidden; background: #eee; aspect-ratio: .82; }
.category-tile::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(transparent, rgba(12,20,45,.82)); }
.category-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.category-tile span { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; color: #fff; font: 600 clamp(.9rem, 1.5vw, 1.25rem) "Cinzel", serif; text-align: center; }
.category-tile:hover img { transform: scale(1.04); }

.product-card { background: #fff; }
.product-card-image { position: relative; display: block; overflow: hidden; background: #f1f0ed; aspect-ratio: .88; }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-card:hover .product-card-image img { transform: scale(1.035); }
.product-badge { position: absolute; top: .75rem; left: .75rem; padding: .35rem .55rem; background: rgba(255,255,255,.92); color: #172345; font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-card-body { padding: 1rem .25rem .4rem; }
.product-sku { margin: 0 0 .3rem; color: #817b71; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-card h3 { margin: 0 0 .4rem; font-size: 1rem; line-height: 1.4; text-transform: none; }
.product-card h3 a { color: #172345; font-size: inherit; text-decoration: none; }
.product-price { margin: 0; color: #343434; font-size: .9rem; }

.editorial-card { position: relative; display: flex; min-height: 430px; align-items: flex-end; overflow: hidden; background-position: center; background-size: cover; }
.editorial-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(transparent 25%, rgba(8,14,31,.82)); }
.editorial-copy { position: relative; z-index: 1; max-width: 580px; padding: clamp(1.5rem, 4vw, 3.2rem); color: #fff; }
.editorial-copy h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); text-transform: none; }
.editorial-copy .eyebrow { color: #efc978; }
.editorial-copy-dark { background: rgba(12,20,45,.78); }
.editorial-copy-dark .text-link { color: #fff; }
.appointment-band { padding: 4.5rem 0; background: #172345; color: #fff; }
.appointment-band h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.4rem); text-transform: none; }
.appointment-band p { max-width: 610px; margin: 0 auto 1.5rem; color: #d9deea; }

.catalogue-hero { padding: 4rem 0; background: #f7f4ee; }
.filter-panel { position: relative; margin-bottom: 1.5rem; padding: 1.35rem; border: 1px solid #e2ddd3; background: #fff; }
.filter-panel label { color: #172345; font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.filter-panel .form-control, .filter-panel .form-select { min-height: 45px; border-radius: 0; border-color: #d9d2c7; }
.filter-reset { display: inline-block; margin-top: .75rem; color: #75561d; font-size: .78rem; }
.catalogue-count { margin-bottom: 1.25rem; color: #6c675f; font-size: .8rem; }
.empty-state { padding: 5rem 1rem; border: 1px solid #e6e0d6; text-align: center; }
.empty-state > i { display: block; margin-bottom: 1rem; color: #b27b17; font-size: 2.2rem; }
.empty-state h2 { color: #172345; font-size: 1.45rem; text-transform: none; }

.product-page { padding: clamp(1.15rem, 2.2vw, 2rem) 0 clamp(4rem, 7vw, 6.5rem); background: linear-gradient(180deg, #fbfaf7 0, #fff 30rem); }
.product-page-container { max-width: 1320px; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: clamp(1rem, 2vw, 1.5rem); color: #777; font-size: .72rem; }
.product-breadcrumb a { text-decoration: none; }
.product-primary-layout { align-items: flex-start; margin-right: 0; margin-left: 0; }
.product-primary-layout > * { min-width: 0; }
.product-media-column { align-self: flex-start; }
.product-gallery-main { position: sticky; top: 8.5rem; width: 100%; max-width: 640px; margin: 0; overflow: hidden; border: 1px solid #e4ded4; background: #f2eee7; box-shadow: 0 18px 48px rgba(17, 26, 52, .07); }
.product-image-stage { position: relative; width: 100%; height: clamp(390px, 38vw, 520px); min-height: 0; overflow: hidden; background: radial-gradient(circle at 50% 46%, #fff 0 42%, #f6f3ed 72%, #ece7de 100%); }
.product-gallery-main .product-image-stage > img { position: absolute; inset: 0; display: block; box-sizing: border-box; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; padding: clamp(.75rem, 2vw, 1.5rem); object-fit: contain; object-position: center; filter: contrast(1.035); }
.product-gallery-main .product-badge { position: absolute; z-index: 2; top: 1rem; left: 1rem; margin: 0; background: #172345; padding: .5rem .75rem; color: #fff; font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.product-gallery-main figcaption { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #e4ded4; background: #fff; padding: .65rem 1rem; color: #777; font-size: .7rem; }
.product-gallery-main figcaption span { display: inline-flex; align-items: center; gap: .45rem; }
.product-gallery-main figcaption a { color: #172345; font-weight: 800; text-decoration: none; }
.video-preview { display: flex; width: 100%; align-items: center; justify-content: center; gap: .55rem; border: 0; border-bottom: 1px solid #ddd5c8; background: #fff; padding: 1rem; color: #172345; }
.product-summary { max-width: 590px; padding: clamp(.2rem, 1vw, .75rem) clamp(0rem, 1.4vw, 1rem); }
.product-summary h1 { max-width: 16ch; margin: .3rem 0 .8rem; color: #172345; font-size: clamp(1.85rem, 2.5vw, 2.55rem); line-height: 1.1; letter-spacing: -.02em; text-transform: none; }
.product-sku { margin-bottom: .2rem; color: #96866f; font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
.product-price-large { margin-bottom: .2rem; color: #172345; font-family: "Cinzel", serif; font-size: 1.55rem; }
.vat-note { color: #777; font-size: .78rem; }
.product-description { margin: 1.5rem 0; color: #4f4f4f; line-height: 1.75; }
.configuration-group { margin: 0 0 1.5rem; padding: 0; border: 0; }
.configuration-group legend, .configuration-group > label { display: block; margin-bottom: .65rem; color: #172345; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.configuration-group > label span { color: #777; font-weight: 400; text-transform: none; }
.option-grid { display: flex; flex-wrap: wrap; gap: .55rem; }
.configuration-option { position: relative; min-width: 75px; cursor: pointer; }
.configuration-option input { position: absolute; opacity: 0; }
.configuration-option > span { display: flex; min-height: 45px; align-items: center; justify-content: center; border: 1px solid #d8d3ca; padding: .55rem .75rem; font-size: .74rem; text-align: center; }
.configuration-option img { display: block; width: 70px; height: 55px; margin: 0 auto .25rem; object-fit: contain; }
.configuration-option input:checked ~ span, .configuration-option input:focus-visible ~ span { border-color: #172345; box-shadow: inset 0 0 0 1px #172345; color: #172345; }
.configuration-group .form-control { border-radius: 0; padding: .8rem; }
.add-to-basket { padding-block: 1rem; font-size: .85rem; }
.delivery-card { display: flex; gap: .85rem; margin: 1rem 0; padding: 1rem; background: #f7f4ee; }
.delivery-card i { color: #a46d0c; font-size: 1.4rem; }
.delivery-card strong, .delivery-card span { display: block; }
.delivery-card span { margin-top: .2rem; color: #686868; font-size: .78rem; }
.product-accordions .accordion-item { border-width: 1px 0 0; border-color: #ddd6ca; border-radius: 0; }
.product-accordions .accordion-button { padding-inline: 0; background: #fff; color: #172345; font-size: .78rem; font-weight: 800; box-shadow: none; }
.product-accordions .accordion-body { padding-inline: 0; color: #606060; font-size: .85rem; line-height: 1.7; }
.product-assurance { margin-top: 5rem; border-top: 1px solid #e2ddd3; padding-top: 3rem; text-align: center; }
.product-assurance i { color: #b27b17; font-size: 1.6rem; }
.product-assurance h2 { margin: .8rem 0 .4rem; color: #172345; font-size: 1rem; text-transform: none; }
.product-assurance p { color: #717171; font-size: .82rem; }

.basket-list { border-top: 1px solid #ddd6ca; }
.basket-item { display: grid; grid-template-columns: 150px 1fr auto; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid #ddd6ca; }
.basket-image { background: #f3f1ed; }
.basket-image img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.basket-item h2 { margin: .2rem 0 .8rem; color: #172345; font-size: 1.15rem; text-transform: none; }
.basket-item h2 a { font-size: inherit; text-decoration: none; }
.basket-attributes { margin-bottom: .8rem; color: #555; font-size: .78rem; }
.basket-attributes div { display: flex; gap: .5rem; }
.basket-attributes dt::after { content: ":"; }
.basket-attributes dd { margin: 0; }
.basket-actions { display: flex; align-items: center; gap: 1rem; }
.quantity-form label { margin-right: .35rem; font-size: .75rem; }
.quantity-form select { border: 1px solid #ccc3b7; padding: .3rem; }
.link-button { border: 0; border-bottom: 1px solid; background: none; padding: 0; color: #7e2727; font-size: .75rem; }
.basket-price { color: #172345; font-weight: 700; white-space: nowrap; }
.order-summary { position: sticky; top: 9rem; padding: 1.5rem; background: #f7f4ee; }
.order-summary h2 { margin-bottom: 1.5rem; color: #172345; font-size: 1.3rem; text-transform: none; }
.order-summary > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; color: #555; font-size: .85rem; }
.order-summary .order-total { margin: .65rem 0 1rem; border-top: 1px solid #cfc6b7; padding-top: 1.2rem; color: #172345; font-size: 1rem; }
.secure-note { margin: 1rem 0 0; color: #6c6c6c; font-size: .72rem; text-align: center; }

.footer { padding: 4.5rem 0 1.5rem; background: #111a34; color: #dce1ee; }
.footer-brand { margin-bottom: 1rem;color:#fff;font-size:1.35rem;display:flex;align-items:center;gap:.8rem; }
.footer-brand img { width:52px;height:52px;border-radius:18px;object-fit:cover; }
.footer-brand > span { display:flex;flex-direction:column; }
.footer-brand small { margin-top:.25rem;color:#cdbd9f;font:700 .55rem "Nunito Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase; }
.footer p { color: #bfc5d3; font-size: .85rem; line-height: 1.65; }
.single_footer h4 { color: #efc978; font: 700 .72rem "Nunito Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.single_footer ul { margin: 0; padding: 0; list-style: none; }
.single_footer li { margin-bottom: .55rem; }
.single_footer li a { color: #dce1ee; text-decoration: none; }
.subscribe { position: relative; }
.subscribe__input { width: 100%; border: 1px solid #64708f; background: transparent; padding: .8rem 3rem .8rem .8rem; color: #fff; }
.subscribe__btn { position: absolute; top: 0; right: 0; height: 100%; border: 0; background: #be8a2a; padding-inline: 1rem; color: #fff; }
.social_profile ul { display: flex; gap: .5rem; }
.social_profile ul li a { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #526080; border-radius: 50%; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; border-top: 1px solid #34415f; padding-top: 1.25rem; color: #9ea8bd; font-size: .72rem; }

@media (max-width: 991px) {
    .storefront-hero .ban_img, .storefront-hero .ban_img > img { min-height: 560px; }
    .storefront-hero .ban_img::after { background: linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.56)); }
    .product-gallery-main { position: relative; top: auto; }
    .product-image-stage { height: min(78vw, 640px); }
    .order-summary { position: static; }
    .product-summary { max-width: none; padding: .5rem 0 0; }
}
@media (max-width: 767px) {
    .storefront-hero .ban_text { left: 5%; }
    .storefront-hero .ban_text strong { font-size: 2.65rem; }
    .trust-strip .col-6 { align-items: flex-start; font-size: .68rem; }
    .basket-item { grid-template-columns: 100px 1fr; }
    .basket-price { grid-column: 2; }
    .footer-bottom { flex-direction: column; }
    .navbar-brand .brand-mark { width:42px;height:42px;flex-basis:42px;border-radius:15px; }
    .brand-wordmark small { display:none; }
    .product-page { padding-top: 1rem; }
    .product-breadcrumb { overflow: hidden; flex-wrap: nowrap; white-space: nowrap; }
    .product-breadcrumb span:last-child { overflow: hidden; text-overflow: ellipsis; }
    .product-image-stage { height: min(92vw, 520px); }
    .product-gallery-main .product-image-stage > img { padding: .75rem; }
    .product-gallery-main figcaption { min-height: 42px; }
    .product-summary h1 { max-width: none; font-size: clamp(1.75rem, 7.5vw, 2.2rem); }
}

a {
    font-size: 13px;
}

.navbrand {
}
h1 {
}
h2 {
    font-size: 22px;
    font-weight: bold !important;

    font-weight: 400;
    /* padding-bottom: 12px; */
    text-transform: uppercase;
}
p {
}

.PrimaryButton {
    background-color: var(--primary-color);
    color: var(--white-color);
    padding: 15px 15px;
    font-size: 13px;
}
.PrimaryButton:hover {
    background: var(--black-color);
    color: var(--white-color);
}
.AlrtSection p {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 400;
    font-style: normal;
}
.AlrtSection {
    background: var(--primary-color);
    color: #ddd;
}

body {
    /* font-family: "Nunito Sans", serif; */
    font-family: "Cinzel", serif;
}

.dropdown-item:hover {
    background-color: #344d90 !important; /* Yellow Hover Background */
    color: #fff !important; /* Black Text on Hover */
}

/* .form-select option:hover{
	background-color: #01c7e9 !important;
	margin-bottom: 20px !important;
} */
.header-menu {
}
.navbar-brand h1 {
    font-size: clamp(1.15rem, 2.2vw, 1.75rem);
}
/* Mega menu base styling */
.navbar .megamenu {
    padding: 1rem;
    display: none;
}

label {
    margin-right: 0px;
}
.radio-button-label > input {
    display: none;
}
.radio-button-label > img {
    cursor: pointer;
    border: 3px solid #ddd;
    width: 150rem;
    border-radius: 50px;
    padding: 4px;
    object-fit: cover;
}

.text-truncate {
    font-family: "Playfair", serif;
    font-size: 18px;
}

.ban_sec {
    width: 100%;
}
.ban_img {
    width: 100%;
    position: relative;
}
.ban_img img {
    width: 100%;
}
.ban_text {
    position: absolute;
    top: 50%;
    left: 6%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.ban_text strong {
    font: 800 62.22px/70px "Playfair Display", serif;
    /* color: #fff; */
    text-transform: uppercase;
}
.ban_text strong span {
    font: 400 27.44px/52px var(--font-family);
    letter-spacing: 3px;
}
.ban_text p {
    font: 400 22px/30px var(--font-family);
    /* color: #fff; */
    margin: 7px 0 25px;
}
.ban_text a {
    display: inline-block;
    background-color: var(--primary-color);
    color: var(--white-color);
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    text-decoration: none;
}
.ban_text a:hover {
    background: var(--primary-color);
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .ban_text p {
        font-size: 20px;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .ban_text p {
        font-size: 17px;
    }
    .ban_text strong {
        font-size: 50px;
        line-height: 60px;
    }
    .ban_text strong span {
        font-size: 37px;
    }
    .ban_text a {
        font-size: 16px;
        line-height: 19px;
    }
}
@media only screen and (max-width: 991px) {
    .ban_text strong {
        font-size: 35px;
        line-height: 40px;
    }
    .ban_text strong span {
        font-size: 28px;
        line-height: 35px;
        letter-spacing: 2px;
    }
    .ban_text p {
        font-size: 14px;
        line-height: 20px;
    }
    .ban_text a {
        font-size: 13.39px;
        line-height: 15px;
    }
}
@media only screen and (max-width: 767px) {
    .ban_img img {
        min-height: 550px;
        object-fit: cover;
    }
}
@media only screen and (max-width: 575px) {
    .ban_text strong {
        padding: 10px;
        width: 100%;
        display: block;
    }
}
@media only screen and (max-width: 480px) {
    .ban_text strong span {
        font-size: 22px;
        line-height: 31px;
        letter-spacing: 1px;
    }
    .ban_text {
        left: 2%;
    }
}

.blog-head {
    margin-bottom: 70px;
}
.blog-head h6 {
    color: var(--primary-color);
    position: relative;
    display: inline-block;
    text-transform: capitalize;
}
.blog-head h6:after,
.blog-head h6:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 3px;
    background: var(--primary-color);
    top: 50%;
}
.blog-head h6:after {
    right: 120%;
}
.blog-head h6:before {
    left: 120%;
}
.overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--primary-color);
    overflow: hidden;
    width: 100%;
    height: 100%;
    transition: 0.5s ease;
}
.item {
    position: relative;
    overflow: hidden;
    margin: 20px 0;
    transition: transform 0.8s, box-shadow 0.7s all;
}
.item::after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(131, 130, 130, 0.09);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 0.3s;
    color: white;
    font-weight: bold;
    font-size: 18px;
    z-index: 1;
}
.item:hover {
    /* transform: scale(1.05); */
    /* box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); */
}
.item:hover::after {
    opacity: 1;
}
.item:hover .overlay {
    bottom: 0;
    height: 100%;
    width: 100%;
    z-index: 2;
}
.top-overlay {
    bottom: 100%;
    height: 0;
}
.item:hover .top-overlay {
    bottom: 0;
}
.bottom-overlay {
    top: 100%;
}
.item:hover .bottom-overlay {
    top: 0;
}
.right-overlay {
    left: 100%;
    height: 100%;
}
.item:hover .right-overlay {
    left: 0;
}
.left-overlay {
    right: 100%;
    height: 100%;
    left: auto;
}
.item:hover .left-overlay {
    right: 0;
}
.fade-overlay {
    height: 100%;
    opacity: 0;
}
.item:hover .fade-overlay {
    opacity: 1;
}
.title-overlay {
    height: auto;
    top: auto;
    opacity: 0;
    transition: 0.9s all;
}
.item:hover .title-overlay {
    opacity: 1;
    height: auto;
    padding: 15px 0;
}
.textHov {
    color: white;
    font-size: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

.GetInTouch .title {
    font-size: 14px;
    font-weight: 600;
}
.GetInTouch .call {
    font-size: 22px;
    color: var(--primary-color);
}
.GetInTouch .email {
    font-size: 22px;
    color: var(--primary-color);
}

.ReviewBanner .cat-mame a {
    text-decoration: none;
    color: #fff;
    list-style: none;
    font-size: 16px;
}

.footer {
    background-image: url(../../image/banner/footer-banner.webp);
    background-size: cover;
    padding-top: 80px;
    padding-bottom: 40px;
} /*END FOOTER SOCIAL DESIGN*/
.single_footer {
}
@media only screen and (max-width: 768px) {
    .single_footer {
        margin-bottom: 30px;
    }
}
.single_footer h4 {
    color: #fff;
    margin-top: 0;
    margin-bottom: 25px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 20px;
}
.single_footer h4::after {
    content: "";
    display: block;
    height: 2px;
    width: 40px;
    background: #fff;
    margin-top: 20px;
}
.single_footer p {
    color: #fff;
}
.single_footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.single_footer ul li {
}
.single_footer ul li a {
    color: #fff;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    line-height: 36px;
    font-size: 13px;
    text-transform: capitalize;
    text-decoration: none;
}
.single_footer ul li a:hover {
    color: var(--primary-color);
}
.single_footer_address {
}
.single_footer_address ul {
}
.single_footer_address ul li {
    color: #fff;
}
.single_footer_address ul li span {
    font-weight: 400;
    color: #fff;
    line-height: 28px;
}
.contact_social ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
} /*START NEWSLETTER CSS*/
.subscribe {
    display: block;
    position: relative;
    margin-top: 15px;
    width: 100%;
}
.subscribe__input {
    background-color: #fff;
    border: medium none;
    border-radius: 5px;
    color: #333;
    display: block;
    font-size: 15px;
    font-weight: 500;
    height: 60px;
    letter-spacing: 0.4px;
    margin: 0;
    padding: 0 150px 0 20px;
    text-align: center;
    text-transform: capitalize;
    width: 100%;
}
@media only screen and (max-width: 768px) {
    .subscribe__input {
        padding: 0 50px 0 20px;
    }
}
.subscribe__btn {
    background-color: transparent;
    border-radius: 0 25px 25px 0;
    color: #01c7e9;
    cursor: pointer;
    display: block;
    font-size: 20px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    width: 60px;
}
.subscribe__btn i {
    transition: all 0.3s ease 0s;
}
@media only screen and (max-width: 768px) {
    .subscribe__btn {
        right: 0px;
    }
}
.subscribe__btn:hover i {
    color: #ff3666;
}
button {
    padding: 0;
    border: none;
    background-color: transparent;
    -webkit-border-radius: 0;
    border-radius: 0;
} /*END NEWSLETTER CSS*/ /*START SOCIAL PROFILE CSS*/
.social_profile {
    margin-top: 40px;
}
.social_profile ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
}
.social_profile ul li {
    float: left;
}
.social_profile ul li a {
    text-align: center;
    border: 0px;
    text-transform: uppercase;
    transition: all 0.3s ease 0s;
    margin: 0px 5px;
    font-size: 18px;
    color: #fff;
    border-radius: 30px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (max-width: 768px) {
    .social_profile ul li a {
        margin-right: 10px;
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 480px) {
    .social_profile ul li a {
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
}
.social_profile ul li a:hover {
    background: #ff3666;
    border: 1px solid #ff3666;
    color: #fff;
    border: 0px;
} /*END SOCIAL PROFILE CSS*/
.copyright {
    margin-top: 70px;
    padding-top: 40px;
    color: #fff;
    font-size: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    text-align: center;
}
.copyright a {
    color: #01c7e9;
    transition: all 0.2s ease 0s;
}
.copyright a:hover {
    color: #ff3666;
}

.dropdown-menu a {
    text-decoration: none;
    color: #000000;
}
.dropdown-menu a .d-flex {
    transition: all 0.5s;
}
.dropdown-menu .col-sm-6:nth-child(1) a:hover .d-flex {
    background-color: var(--bs-warning-bg-subtle);
}
.dropdown-menu .col-sm-6:nth-child(2) a:hover .d-flex {
    background-color: var(--bs-danger-bg-subtle);
}
.dropdown-menu .col-sm-6:nth-child(3) a:hover .d-flex {
    background-color: var(--bs-success-bg-subtle);
}
.dropdown-menu .col-sm-6:nth-child(4) a:hover .d-flex {
    background-color: var(--bs-secondary-bg-subtle);
}
.dropdown-menu .col-sm-6:nth-child(5) a:hover .d-flex {
    background-color: var(--bs-tertiary-bg);
}
.dropdown-menu .col-sm-6:nth-child(6) a:hover .d-flex {
    background-color: var(--bs-info-bg-subtle);
}
@media only screen and (min-width: 992px) {
    .dropdown-menu {
        width: 40vw;
    }
    .dropdown:hover .dropdown-menu {
        display: flex;
    }
    .dropdown-menu.show {
        display: flex;
    }
}
/* ulhas css */
.main-navigation.fixed_navbar {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    right: 0;
    background-color: rgba(
        255,
        255,
        255,
        1
    ); /* Slightly transparent background */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Shadow for elevation effect */
    z-index: 1000;
}
.nav-justified .nav-item {
    /* font-family: "Poppins", sans-serif; */
}
.main-navigation .nav-item .nav-link {
    color: var(--black-color);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase !important;
}
.first_header .nav-item .nav-link:hover {
    /* color: var(--secondary-color) !important; */
    background-color: #344d90;
    color: #fff;
}

.form-select option:hover {
    background-color: #f5f6f7 !important;
    color: #000000 !important;
}
.navbar-toggler:focus {
    box-shadow: none;
    border: none;
}
.navbar-toggler {
    border: none;
    color: #000000 !important;
}
.navbar-toggler .navbar-toggler-icon {
    color: #000000 !important;
}
* {
    /* outline: 1px solid red; */
}
.custom-swiper-container::before {
    position: absolute;
    content: " ";
    width: 80%;
    height: 70%;
    border-radius: 200px;
    background-color: var(--oc-primary-color);
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Swiper Slide Styling */
.custom-swiper-container .custom-swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    color: white;
    font-weight: bold;
    border-radius: 15px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

/* .custom-swiper-slide:nth-child(1) {
    background-image: linear-gradient(to bottom right, #ff7e5f, #feb47b);
  }
  
  .custom-swiper-slide:nth-child(2) {
    background-image: linear-gradient(to bottom right, #6a11cb, #2575fc);
  }
  
  .custom-swiper-slide:nth-child(3) {
    background-image: linear-gradient(to bottom right, #f7971e, #ffd200);
  } */

/* Navigation Buttons */
.custom-swiper-container .custom-swiper-button {
    color: #fff;
    font-size: 0.6rem;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 100%;
    /* transform: translateY(-50%); */
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}
.custom-swiper-container .swiper-button-prev:after,
.custom-swiper-container .swiper-button-next:after {
    font-size: 17px !important;
}
.custom-swiper-container .swiper-button-next:after,
.custom-swiper-container .swiper-rtl .swiper-button-prev:after {
    font-size: 17px;
}

.custom-swiper-container .custom-swiper-button:hover {
    background-color: rgba(0, 0, 0, 0.8);
    transform: scale(1.2);
}

.custom-swiper-container .custom-swiper-button-next {
    right: 50px !important;
}

.custom-swiper-container .custom-swiper-button-prev {
    /* left: 10px !important; */
}
.custom-swiper-container .swiper-button-prev {
    right: 10%;
    left: unset;
}
.custom-swiper-container .swiper-button-next {
    font-size: 17px !important;
}
/* Font Awesome Icon Styling */
.custom-swiper-button i {
    font-size: 1.5rem;
}
.cat-section {
    background-color: #fbf8f3;
}
.cat-img {
    position: relative;
    margin-top: -150px;
}
.cat-img-card {
    position: relative;
}

.cat-img-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: " ";
    /* background-color: #ffffff34; */
    /* box-shadow: 0px 0px 3px #3333333e; */
    border-radius: 5px;
    margin: 1px;
}
.cat-img-card h6 {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    color: #000000;
    font-size: 18px;
}
.cat-img .white-float-box {
    position: absolute;
    width: 300px;
    padding: 40px;
    /* top: 50%; */
    /* transform: translateY(-50%); */
    background-color: #c3bfbfb5;
    left: -12%;
    bottom: 0;
    animation: bounce 6s alternate infinite;
}
::selection {
    background-color: #f4c542; /* Custom background */
    color: #ffffff; /* Custom text color */
}
@keyframes bounce {
    0%,
    100% {
        bottom: 0px;
    }
    50% {
        bottom: 5%;
    }
}

@media (max-width: 992px) {
    .desktop-menu {
        display: none;
    }
    .navbar-brand h1 {
        font-size: 1.2rem;
    }
    .main-navigation .nav-item .nav-link {
        padding: 5px 10px;
    }
    .item::after {
        opacity: 1;
    }
    .cat-img {
        position: relative;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        width: 100%;
    }
    .cat-img .white-float-box {
        position: relative;
        width: 100%;
        left: 0;
        padding: 20px;
    }
}

/* Keep the storefront layer authoritative over legacy demo rules. */
body { color: #171717; background: #fff; font-family: "Nunito Sans", sans-serif; }
.PrimaryButton { border: 1px solid #172345; border-radius: 0; background: #172345; padding: .8rem 1.25rem; color: #fff; font-weight: 700; letter-spacing: .04em; }
.PrimaryButton:hover, .PrimaryButton:focus { border-color: #be8a2a; background: #be8a2a; color: #fff; }
.footer { padding: 4.5rem 0 1.5rem; background: #111a34; color: #dce1ee; }
.footer p { color: #bfc5d3; }
.footer .single_footer h4 { color: #efc978; font: 700 .72rem "Nunito Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.footer .single_footer h4::after { display: none; }
.footer .single_footer ul li a { color: #dce1ee; }
.footer .subscribe { position: relative; display: block; }
.footer .subscribe__input { width: 100%; height: auto; border: 1px solid #64708f; border-radius: 0; background: transparent; padding: .8rem 3rem .8rem .8rem; color: #fff; }
.footer .subscribe__btn { position: absolute; top: 0; right: 0; width: auto; height: 100%; border: 0; border-radius: 0; background: #be8a2a; padding-inline: 1rem; color: #fff; }

/* Phase 2: checkout and customer orders */
.checkout-page, .confirmation-page, .orders-page, .order-detail-page { background: #f7f5f0; min-height: 70vh; }
.checkout-page h1, .confirmation-page h1, .orders-page h1, .order-detail-page h1,
.checkout-page h2, .confirmation-page h2, .orders-page h2, .order-detail-page h2 { color: #111a34; font-family: Georgia, "Times New Roman", serif; }
.checkout-steps { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 650px; margin: 0 auto 2.75rem; color: #7b7b7b; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.checkout-steps span { position: relative; display: flex; gap: .5rem; align-items: center; justify-content: center; padding-bottom: .85rem; border-bottom: 2px solid #dedbd4; }
.checkout-steps span b { display: inline-grid; width: 1.4rem; height: 1.4rem; border: 1px solid currentColor; border-radius: 50%; place-items: center; font-size: .68rem; }
.checkout-steps .is-current, .checkout-steps .is-complete { color: #9a6a11; border-color: #be8a2a; }
.checkout-heading { margin-bottom: 2rem; text-align: center; }
.checkout-heading h1, .orders-heading h1, .detail-heading h1 { margin-bottom: .5rem; font-size: clamp(2rem, 4vw, 3rem); }
.checkout-heading p:last-child, .orders-heading p, .detail-heading p { color: #686868; }
.checkout-panel, .order-summary, .order-card, .empty-orders { border: 1px solid #e2ded5; background: #fff; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: 0 12px 38px rgba(17, 26, 52, .05); }
.checkout-panel + .checkout-panel { margin-top: 1.5rem; }
.checkout-section-title { display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.checkout-section-title > span { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 2.2rem; border: 1px solid #be8a2a; border-radius: 50%; color: #9a6a11; place-items: center; font-size: .72rem; font-weight: 800; }
.checkout-section-title h2, .checkout-panel > h2, .order-summary h2 { margin: 0 0 .25rem; font-size: 1.45rem; }
.checkout-section-title p { margin: 0; color: #747474; font-size: .9rem; }
.checkout-page .form-label { color: #303030; font-size: .82rem; font-weight: 700; }
.checkout-page .form-label span { color: #888; font-weight: 400; }
.checkout-page .form-control, .checkout-page .form-select { min-height: 3rem; border: 1px solid #d4d0c7; border-radius: 0; background-color: #fdfcf9; }
.checkout-page .form-control:focus, .checkout-page .form-select:focus { border-color: #be8a2a; box-shadow: 0 0 0 .2rem rgba(190, 138, 42, .12); }
.checkout-choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-bottom: 1.5rem; }
.choice-card { position: relative; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card > span { display: grid; min-height: 8.25rem; border: 1px solid #d8d4ca; padding: 1.1rem; transition: .2s ease; }
.choice-card i { margin-bottom: .55rem; color: #9a6a11; font-size: 1.35rem; }
.choice-card strong, .choice-card small { display: block; }
.choice-card small { margin-top: .2rem; color: #777; }
.choice-card input:checked + span { border: 2px solid #be8a2a; background: #fffaf0; box-shadow: inset 0 0 0 2px #fff; }
.saved-addresses { margin: 0 0 1rem; border-top: 1px solid #eee9de; padding-top: 1.25rem; }
.saved-address { border: 1px solid #cabfaa; background: #fff; padding: .55rem .8rem; color: #3d3d3d; font-size: .82rem; }
.saved-address:hover { border-color: #be8a2a; color: #9a6a11; }
.delivery-options { display: grid; gap: .65rem; }
.delivery-options label { display: flex; align-items: center; gap: .8rem; border: 1px solid #ddd8ce; padding: .9rem 1rem; cursor: pointer; }
.delivery-options label:has(input:checked) { border-color: #be8a2a; background: #fffaf0; }
.delivery-options span { flex: 1; }
.delivery-options strong, .delivery-options small { display: block; }
.delivery-options small { color: #777; }
.order-summary { position: sticky; top: 1.5rem; }
.summary-items { margin: 1.2rem 0; border-block: 1px solid #e8e3d9; }
.summary-item { display: grid; grid-template-columns: 70px 1fr auto; gap: .9rem; align-items: center; padding: 1rem 0; }
.summary-item + .summary-item { border-top: 1px solid #eeeae2; }
.summary-image, .order-thumb, .detail-item-image { display: grid; overflow: hidden; background: #f3f0e9; place-items: center; color: #be8a2a; }
.summary-image { width: 70px; height: 78px; }
.summary-image img, .order-thumb img, .detail-item-image img { width: 100%; height: 100%; object-fit: cover; }
.summary-item h3 { margin: 0 0 .2rem; color: #172345; font: 700 .95rem/1.3 "Nunito Sans", sans-serif; }
.summary-item p, .summary-item small { margin: 0; color: #777; font-size: .77rem; }
.summary-item > strong { font-size: .9rem; }
.summary-totals { margin: 0; }
.summary-totals > div, .confirmation-line { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; }
.summary-totals dt { font-weight: 500; }
.summary-totals dd { margin: 0; font-weight: 700; }
.summary-totals .summary-grand, .confirmation-line.total { margin-top: .55rem; border-top: 1px solid #d7d1c5; padding-top: 1rem; color: #111a34; font-size: 1.18rem; }
.summary-totals .vat-note { padding-top: 0; color: #777; font-size: .78rem; }
.checkout-submit { width: 100%; margin-top: 1.25rem; border: 0; background: #172345; padding: .95rem; color: #fff; font-weight: 800; letter-spacing: .03em; }
.checkout-submit:hover { background: #be8a2a; }
.secure-note { margin: 1rem 0 0; color: #747474; font-size: .78rem; text-align: center; }
.price-lock-note { margin: .75rem 0 0; color: #7a5a13; font-size: .76rem; }
.price-lock-note i { margin-right: .25rem; }
.confirmation-hero { max-width: 760px; margin: 0 auto; text-align: center; }
.confirmation-mark { display: grid; width: 5rem; height: 5rem; margin: 0 auto 1.25rem; border: 1px solid #be8a2a; border-radius: 50%; background: #fffaf0; color: #9a6a11; place-items: center; font-size: 2.4rem; }
.confirmation-hero h1 { font-size: clamp(2.1rem, 5vw, 3.5rem); }
.confirmation-number { display: inline-flex; gap: 1rem; margin-top: 1rem; border: 1px solid #d9d3c8; background: #fff; padding: .75rem 1.25rem; }
.confirmation-number span { color: #777; }
.next-steps > div { display: grid; grid-template-columns: 2.2rem 1fr; gap: 1rem; padding: .9rem 0; }
.next-steps > div + div { border-top: 1px solid #eee9df; }
.next-steps span { display: grid; width: 2rem; height: 2rem; border-radius: 50%; background: #172345; color: #fff; place-items: center; }
.next-steps p, .next-steps strong { display: block; margin: 0; }
.payment-pill { margin: 1.2rem 0 0; background: #fff3cd; padding: .65rem; color: #6e5200; text-align: center; text-transform: capitalize; }
.payment-pill.is-paid { background: #dff2e5; color: #23633a; }
.payment-action-form { margin-top: 1rem; }
.payment-action-form p { margin: .65rem 0 0; color: #777; font-size: .72rem; text-align: center; }
.bank-transfer-note { display: flex; gap: .75rem; margin-top: 1rem; background: #f1f4fa; padding: .9rem; color: #172345; }
.bank-transfer-note i { color: #9a6a11; font-size: 1.2rem; }
.bank-transfer-note strong, .bank-transfer-note span { display: block; }
.bank-transfer-note span { margin-top: .15rem; color: #626b7d; font-size: .78rem; }
.confirmation-actions { display: flex; gap: 1.4rem; align-items: center; justify-content: center; margin-top: 2rem; }
.confirmation-actions .PrimaryButton { text-decoration: none; }
.confirmation-actions > a:not(.PrimaryButton) { color: #172345; }
.orders-heading, .detail-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
.orders-shop-link, .detail-back { color: #172345; font-weight: 700; text-decoration: none; }
.order-card { padding: 0; }
.order-card + .order-card { margin-top: 1.25rem; }
.order-card header { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 1rem; align-items: center; background: #172345; padding: 1rem 1.25rem; color: #fff; }
.order-card header div > span:not(.status-badge) { display: block; margin-bottom: .2rem; color: #abb3c8; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.order-card-body { display: flex; gap: 1rem; align-items: center; padding: 1.25rem; }
.order-thumbs { display: flex; }
.order-thumb { width: 60px; height: 68px; border: 2px solid #fff; }
.order-thumb + .order-thumb { margin-left: -12px; }
.order-description { flex: 1; }
.order-description p { margin: .2rem 0 0; color: #777; font-size: .85rem; }
.order-view { color: #9a6a11; font-weight: 800; text-decoration: none; }
.order-statuses { display: flex; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; }
.status-badge { display: inline-block; border-radius: 2rem; padding: .38rem .65rem; font-size: .7rem; font-weight: 800; }
.status-order { background: #e6edf8; color: #172345; }
.status-pending { background: #fff0c7; color: #755800; }
.status-paid { background: #dff2e5; color: #23633a; }
.empty-orders { max-width: 650px; margin: 2rem auto; text-align: center; }
.empty-orders > i { color: #be8a2a; font-size: 3rem; }
.empty-orders .PrimaryButton { display: inline-block; margin-top: .8rem; text-decoration: none; }
.detail-item { display: grid; grid-template-columns: 100px 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem 0; }
.detail-item + .detail-item { border-top: 1px solid #ece7de; }
.detail-item-image { width: 100px; height: 110px; }
.detail-item-copy h3 { margin: 0; color: #172345; font: 700 1.05rem "Nunito Sans", sans-serif; }
.detail-item-copy p, .detail-item-copy small { margin: .3rem 0 0; color: #777; }
.detail-item-price { text-align: right; }
.detail-item-price span, .detail-item-price strong { display: block; }
.detail-fulfilment address { font-style: normal; line-height: 1.7; }
.detail-notes { margin-top: 1rem; border-left: 2px solid #be8a2a; background: #faf8f3; padding: .75rem 1rem; }
.detail-notes span { color: #777; font-size: .72rem; text-transform: uppercase; }
.detail-notes p { margin: .2rem 0 0; }
.detail-payment-method { margin-top: 1rem; border-top: 1px solid #e7e1d7; padding-top: 1rem; }
.detail-payment-method span, .detail-payment-method strong { display: block; }
.detail-payment-method span { margin-bottom: .25rem; color: #777; font-size: .75rem; }

/* Private appointment experience */
.appointment-page { background:#f6f3ed;color:#172345; }
.appointment-hero { position:relative;overflow:hidden;background:#111a34;padding:90px 0 110px;color:#fff; }
.appointment-hero:after { position:absolute;right:-8%;top:-85%;width:700px;height:700px;border:1px solid rgba(214,168,76,.24);border-radius:50%;box-shadow:0 0 0 90px rgba(214,168,76,.04),0 0 0 180px rgba(214,168,76,.025);content:''; }
.appointment-hero .container { position:relative;z-index:1; }
.appointment-hero span,.appointment-kicker { display:block;margin-bottom:16px;color:#c69235;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase; }
.appointment-hero h1 { max-width:650px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6vw,5.6rem);font-weight:400;line-height:.95; }
.appointment-hero p { max-width:610px;margin:28px 0 0;color:#cad0df;font-size:1rem;line-height:1.75; }
.appointment-layout { position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.85fr) minmax(500px,1.15fr);gap:80px;align-items:start;margin-top:-46px;padding-bottom:90px; }
.appointment-intro { padding-top:105px; }.appointment-intro h2,.appointment-form-card h2 { margin:0 0 20px;font-family:Georgia,'Times New Roman',serif;font-size:2.25rem;font-weight:400;line-height:1.15; }
.appointment-intro > p { color:#6d6e73;line-height:1.75; }
.appointment-benefits { margin-top:34px; }.appointment-benefits article { display:grid;grid-template-columns:42px 1fr;gap:15px;padding:18px 0;border-top:1px solid #dcd6ca; }.appointment-benefits i { color:#b17d22;font-size:1.35rem; }.appointment-benefits strong,.appointment-benefits span { display:block; }.appointment-benefits span { margin-top:4px;color:#747474;font-size:.85rem; }
.appointment-note { display:flex;gap:12px;margin-top:24px;background:#ebe6dc;padding:16px;color:#62646a;font-size:.8rem;line-height:1.5; }.appointment-note i { color:#9a6a11;font-size:1.1rem; }
.appointment-form-card { border-top:4px solid #c69235;background:#fff;padding:44px 48px;box-shadow:0 25px 70px rgba(17,26,52,.13); }
.appointment-form { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.appointment-field--wide { grid-column:1/-1; }
.appointment-field label { display:flex;justify-content:space-between;margin-bottom:7px;color:#31394e;font-size:.74rem;font-weight:800;letter-spacing:.03em; }.appointment-field label span { color:#949494;font-weight:500; }
.appointment-field input,.appointment-field select,.appointment-field textarea { width:100%;border:1px solid #d9d5cd;border-radius:0;background:#fff;padding:13px 14px;color:#172345;outline:none;transition:.2s ease; }.appointment-field input:focus,.appointment-field select:focus,.appointment-field textarea:focus { border-color:#b68227;box-shadow:0 0 0 3px rgba(182,130,39,.1); }
.appointment-submit { grid-column:1/-1;display:flex;justify-content:space-between;border:0;background:#172345;padding:16px 18px;color:#fff;font-weight:800;letter-spacing:.04em;transition:.2s ease; }.appointment-submit:hover { background:#b68227; }.appointment-consent { grid-column:1/-1;color:#858585;line-height:1.5;text-align:center; }
.store-availability-card { margin-top:22px;border:1px solid #dcd6ca;background:#fff;padding:23px; }
.store-availability-card__heading { display:flex;justify-content:space-between;gap:20px;margin-bottom:12px; }.store-availability-card__heading > i { color:#b17d22;font-size:1.5rem; }.store-availability-card__heading span { color:#a4731d;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase; }.store-availability-card__heading h2 { margin:4px 0 0;color:#172345;font:400 1.3rem Georgia,serif; }
.store-stock-row { display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-top:1px solid #eee9df; }.store-stock-row strong,.store-stock-row span { display:block; }.store-stock-row > div span { margin-top:3px;color:#828282;font-size:.73rem; }.store-stock-status { color:#7a7a7a;font-size:.72rem;font-weight:700;white-space:nowrap; }.store-stock-status.is-available { color:#287349; }.store-empty { margin:0;color:#777;font-size:.8rem; }
.reserve-trigger { display:flex;width:100%;justify-content:space-between;margin-top:12px;border:0;background:#172345;padding:13px 15px;color:#fff;font-weight:800; }.reserve-form { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;background:#f6f3ed;padding:18px; }.reserve-form label { display:flex;justify-content:space-between;margin-bottom:4px;font-size:.7rem;font-weight:700; }.reserve-form input,.reserve-form select,.reserve-form textarea { width:100%;border:1px solid #d8d2c6;background:#fff;padding:9px; }.reserve-form__wide,.reserve-form > button,.reserve-form > small { grid-column:1/-1; }.reserve-form > button { border:0;background:#b17d22;padding:12px;color:#fff;font-weight:800; }.reserve-form > small { color:#777;text-align:center; }
.collection-promise { display:flex;gap:12px;margin-top:14px;background:#f1f4fa;padding:14px;color:#172345; }.collection-promise i { color:#a4731d;font-size:1.25rem; }.collection-promise strong,.collection-promise span { display:block; }.collection-promise span { margin-top:3px;color:#697186;font-size:.75rem;line-height:1.5; }
.payment-provider-grid { grid-template-columns:repeat(2,1fr); }.payment-provider-card > span { position:relative;min-height:126px; }.payment-provider-card .provider-wordmark { position:absolute;right:12px;bottom:10px;color:#7f8798;font-size:.58rem;letter-spacing:.04em; }.provider-wordmark--paypal { color:#0b4c8c!important;font-size:.75rem!important; }.provider-wordmark--klarna { border-radius:4px;background:#ffb3c7;padding:3px 5px;color:#111!important;font-size:.72rem!important; }.provider-wordmark--clearpay { border-radius:4px;background:#b2fce4;padding:3px 5px;color:#111!important;font-size:.65rem!important; }.provider-eligibility { margin:14px 0 0;color:#737984;font-size:.73rem;line-height:1.5; }
.provider-hosted-page { min-height:70vh;background:#f6f3ed;padding:65px 0; }.provider-hosted-shell { max-width:900px;margin:auto;background:#fff;padding:36px;box-shadow:0 20px 60px rgba(17,26,52,.1); }.provider-hosted-shell header { border-bottom:1px solid #e7e1d7;padding-bottom:20px; }.provider-hosted-shell h1 { margin:0;color:#172345;font:400 2.6rem Georgia,serif; }.provider-hosted-shell header p { margin:8px 0 0;color:#777; }.provider-hosted-frame { min-height:400px;padding-top:25px; }.provider-hosted-note { margin:20px 0 0;color:#777;font-size:.75rem;text-align:center; }
.reservation-confirmation-page { background:#f6f3ed;padding:75px 0; }.reservation-confirmation { max-width:760px;margin:auto;border-top:4px solid #c69235;background:#fff;padding:55px;text-align:center;box-shadow:0 24px 65px rgba(17,26,52,.12); }.reservation-confirmation__mark { display:grid;width:68px;height:68px;margin:0 auto 20px;border-radius:50%;background:#172345;color:#fff;font-size:1.7rem;place-items:center; }.reservation-confirmation h1 { margin:0;color:#172345;font:400 clamp(2.3rem,5vw,4rem) Georgia,serif; }.reservation-confirmation > p { max-width:570px;margin:18px auto;color:#6c6d72;line-height:1.7; }.reservation-reference { display:inline-flex;gap:18px;margin:15px 0 30px;border:1px solid #dcd6ca;padding:12px 18px; }.reservation-reference span { color:#888; }.reservation-steps { margin-bottom:30px;text-align:left; }.reservation-steps article { display:grid;grid-template-columns:36px 1fr;gap:14px;padding:17px 0;border-top:1px solid #ebe6dc; }.reservation-steps article > span { display:grid;width:32px;height:32px;border-radius:50%;background:#fff5dd;color:#9a6a11;font-size:.7rem;font-weight:800;place-items:center; }.reservation-steps strong,.reservation-steps p { display:block;margin:0; }.reservation-steps p { margin-top:4px;color:#777;font-size:.82rem; }

@media (max-width: 767px) {
    .checkout-steps { font-size: .62rem; }
    .checkout-choice-grid { grid-template-columns: 1fr; }
    .choice-card > span { min-height: 6.7rem; }
    .order-card header { grid-template-columns: 1fr 1fr; }
    .order-card-body, .orders-heading, .detail-heading { align-items: flex-start; flex-direction: column; }
    .order-view { align-self: flex-end; }
    .order-statuses { justify-content: flex-start; }
    .detail-item { grid-template-columns: 78px 1fr; }
    .detail-item-image { width: 78px; height: 86px; }
    .detail-item-price { grid-column: 2; display: flex; justify-content: space-between; text-align: left; }
    .confirmation-actions { flex-direction: column; }
    .appointment-hero { padding:70px 0 90px; }.appointment-layout { grid-template-columns:1fr;gap:35px;margin-top:-30px; }.appointment-intro { order:2;padding-top:0; }.appointment-form-card { padding:30px 22px; }.appointment-form { grid-template-columns:1fr; }.appointment-field--wide,.appointment-submit,.appointment-consent { grid-column:auto; }
    .reserve-form { grid-template-columns:1fr; }.reserve-form__wide,.reserve-form > button,.reserve-form > small { grid-column:auto; }.reservation-confirmation { padding:36px 22px; }
    .payment-provider-grid { grid-template-columns:1fr; }.provider-hosted-shell { padding:25px 18px; }
    .customer-auth-page{padding:25px 12px}.customer-auth-shell{grid-template-columns:1fr}.customer-auth-story{display:none}.customer-auth-card{padding:35px 24px}.customer-auth-grid{grid-template-columns:1fr}.checkout-account-choice{grid-template-columns:1fr}.checkout-account-choice__divider{display:none}.customer-dashboard-hero{padding:40px 0 60px}.customer-monogram{display:none}.customer-dashboard-layout{grid-template-columns:1fr;gap:20px}.customer-dashboard-nav{position:static;display:flex;overflow:auto}.customer-dashboard-nav a,.customer-dashboard-nav button{white-space:nowrap}.customer-dashboard-nav form{margin:0;border:0;padding:0}.customer-metric-grid{grid-template-columns:1fr 1fr}.customer-order-row{grid-template-columns:42px 1fr auto}.customer-order-status,.customer-order-row>b{grid-column:2}.customer-order-row>i{grid-column:3;grid-row:1}.customer-address-grid,.customer-account-form{grid-template-columns:1fr}.customer-account-form .wide{grid-column:auto}.payment-selection-form{padding:18px}.payment-featured label,.payment-option-list label{grid-template-columns:42px 1fr auto;padding:16px 10px}
}
/* Customer commerce services */
.service-page{background:#f5f6fa;min-height:70vh;color:#111b38}.service-hero{padding:72px 0 58px;background:linear-gradient(120deg,#0d1836,#17274d);color:#fff}.service-hero h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.4rem);margin:.35rem 0}.service-hero p{color:#cbd2e2;max-width:650px}.service-content{padding-top:42px;padding-bottom:70px}.service-toolbar{display:flex;justify-content:space-between;margin-bottom:24px}.service-toolbar a{color:#111b38;text-decoration:none;font-weight:700}.service-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-product{background:#fff;border:1px solid #e1e5ee;padding:18px}.service-product>a{text-decoration:none;color:#111b38}.service-product img,.comparison-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f1f1f1}.service-product span{display:block;color:#7b849b;font-size:.75rem;letter-spacing:.1em;margin-top:16px}.service-product h2,.comparison-grid h2{font-family:Georgia,serif;font-size:1.4rem}.service-product>div{display:flex;gap:8px;margin-top:15px}.service-product button,.comparison-grid button{border:1px solid #cbd1de;background:#fff;padding:8px 14px}.service-empty{grid-column:1/-1;text-align:center;background:#fff;padding:70px;border:1px solid #e1e5ee}.service-empty i{font-size:3rem;color:#c99b43}.service-empty a,.shared-ring-card a{display:inline-block;background:#111b38;color:#fff;padding:12px 22px;text-decoration:none}.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:#dfe3ec}.comparison-grid article{background:#fff;padding:20px}.comparison-grid dl div{border-top:1px solid #edf0f5;padding:12px 0}.comparison-grid dt{font-size:.7rem;color:#7b849b;text-transform:uppercase}.comparison-grid dd{margin:2px 0}.comparison-grid article>a{display:block;background:#111b38;color:#fff;padding:10px;text-align:center;text-decoration:none}.comparison-grid form button{width:100%;margin-top:7px}.tracking-form{background:#fff;padding:28px;display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;border:1px solid #e0e4ed}.tracking-form label,.service-form label{display:flex;flex-direction:column;gap:8px;font-weight:700}.tracking-form input,.service-form input,.service-form textarea{border:1px solid #cfd5e1;padding:12px}.tracking-form button,.service-form button,.review-form button,.return-request-panel button{background:#c99b43;color:#111b38;border:0;padding:13px 22px;font-weight:800}.tracking-result{background:#fff;margin-top:28px;padding:28px}.tracking-result header{display:flex;justify-content:space-between}.tracking-steps{margin-top:20px;border-left:2px solid #c99b43}.tracking-steps div{display:grid;grid-template-columns:30px 1fr auto;padding:10px 15px}.tracking-steps i{color:#c99b43}.tracking-courier{background:#f1f3f8;padding:14px;margin-top:20px}.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{background:#fff;padding:28px;border:1px solid #e0e4ed}.service-card h2{font-family:Georgia,serif}.service-form{display:grid;gap:14px}.gift-card{background:linear-gradient(135deg,#0e1938,#26375e);color:#fff;border-radius:16px;padding:24px;margin:15px 0;box-shadow:0 15px 30px #1112}.gift-card span,.gift-card code,.gift-card small{display:block}.gift-card strong{display:block;font-family:Georgia,serif;font-size:2rem;margin:20px 0}.gift-card code{color:#e5bf70;letter-spacing:.15em}.reward-history{grid-column:1/-1}.reward-history>div{display:flex;justify-content:space-between;border-top:1px solid #eee;padding:14px}.reward-history small{display:block;color:#778}.is-negative{color:#b22}.product-save-actions{display:flex;gap:8px;margin:14px 0}.product-save-actions form{flex:1}.product-save-actions button,.product-save-actions a{display:block;width:100%;border:1px solid #cdd2de;background:#fff;color:#111b38;padding:10px;text-align:center;text-decoration:none}.engraving-preview{margin-top:12px;padding:22px;background:#f4efe5;text-align:center}.engraving-preview span{display:block;text-transform:uppercase;font-size:.65rem;letter-spacing:.16em}.engraving-preview strong{display:block;font-size:1.5rem;margin:10px}.engraving-preview select{border:0;background:transparent}.product-review-section{margin-top:70px;background:#fff;padding:35px}.product-review-heading{display:flex;justify-content:space-between}.product-review-heading h2{font-family:Georgia,serif}.product-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.product-review-grid article{background:#f7f7f5;padding:20px}.product-review-grid article>div{color:#c99b43}.review-form{display:grid;grid-template-columns:140px 1fr;gap:12px;border-top:1px solid #ddd;padding-top:22px}.review-form h3,.review-form textarea,.review-form button{grid-column:1/-1}.review-form input,.review-form select,.review-form textarea{padding:11px;border:1px solid #ccd2de}.order-document-actions{display:grid;gap:8px;margin-top:18px}.order-document-actions a{padding:11px;border:1px solid #d8dce5;text-decoration:none;color:#111b38}.return-request-panel{margin-top:25px}.return-request-panel form>div{display:grid;grid-template-columns:1fr 1fr;gap:15px}.return-request-panel label{display:flex;flex-direction:column;gap:7px}.return-request-panel select,.return-request-panel textarea{padding:10px;border:1px solid #ccd2de}.return-request-panel fieldset{display:flex;gap:18px;padding:14px 0}.customer-design-row{display:flex;align-items:center;gap:15px;padding:16px;border-top:1px solid #edf0f5}.customer-design-row>span:first-child{flex:1}.customer-design-row small{display:block;color:#7b849b}.customer-design-row form{margin:0}.customer-design-row button,.customer-design-row a{border:0;background:#111b38;color:#fff;padding:8px 12px;text-decoration:none}.share-result{background:#f4efe5;padding:15px}.share-result input{width:100%;margin-top:8px;padding:10px}.shared-ring-card{max-width:700px;margin:auto;text-align:center;background:#fff;padding:60px;border:1px solid #e0e4ed}.shared-ring-card>i{font-size:4rem;color:#c99b43}.shared-ring-card h2{font-family:Georgia,serif;font-size:2.3rem}.shared-ring-card span{display:inline-block;padding:8px}.shared-ring-card>strong{display:block;font-size:1.8rem;margin:20px}.rb-alert a,.rb-alert button{margin-left:15px;color:#fff;background:transparent;border:1px solid currentColor;padding:6px 10px;text-decoration:none}@media(max-width:900px){.service-product-grid,.product-review-grid{grid-template-columns:repeat(2,1fr)}.comparison-grid{grid-template-columns:repeat(2,1fr)}.tracking-form{grid-template-columns:1fr}.reward-grid{grid-template-columns:1fr}.reward-history{grid-column:auto}}@media(max-width:600px){.service-hero{padding:48px 0}.service-product-grid,.product-review-grid,.comparison-grid{grid-template-columns:1fr}.service-content{padding-top:25px}.review-form{grid-template-columns:1fr}.return-request-panel form>div{grid-template-columns:1fr}.return-request-panel fieldset{flex-direction:column}.customer-design-row{align-items:flex-start;flex-wrap:wrap}}
/* Client-approved engagement and wedding ring mega menus */
.client-menu-item>.nav-link{position:relative}.client-menu-item>.nav-link:after{margin-left:.45rem;font-size:.65em}.client-mega-menu{left:50%!important;width:min(1120px,calc(100vw - 40px))!important;margin:0!important;border:1px solid #e8e3da!important;border-radius:0!important;background:#fff;padding:24px 34px 32px!important;box-shadow:0 22px 55px rgba(17,26,52,.13)!important;transform:translateX(-50%)}.client-mega-menu__heading{margin-bottom:25px;text-align:center}.client-mega-menu__heading a{display:inline-block;border-bottom:3px solid #c99b43;padding:0 36px 10px;color:#172345!important;font:500 1.45rem Cinzel,serif;letter-spacing:.04em;text-transform:uppercase}.client-mega-menu__grid{display:grid;grid-template-columns:1fr 1.05fr .9fr;gap:48px}.client-mega-menu section h3,.client-create-links h3{margin:0 0 16px;color:#596071;font:700 .75rem "Nunito Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}.client-mega-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}.client-mega-links>a,.client-create-links>a{display:flex;min-height:38px;align-items:center;gap:13px;padding:4px 2px;color:#222b42!important;font-size:.88rem;white-space:nowrap}.client-mega-links>a:hover,.client-create-links>a:hover{color:#a2711f!important;transform:translateX(3px)}.client-metal-links{grid-template-columns:1fr}.client-create-links{margin-top:25px;border-top:1px solid #e7e2d8;padding-top:20px}.client-create-links>a i{width:28px;color:#a87925;font-size:1.25rem;text-align:center}.ring-shape{display:inline-block;width:28px;height:28px;flex:0 0 28px;border:2px solid #b6b8bd;background:radial-gradient(circle,#fff 45%,#e6e7e9 47%,#fff 53%);box-shadow:inset 0 0 0 3px #fff;transform:rotate(45deg)}.ring-shape--radiant,.ring-shape--emerald{width:21px;height:29px;margin-inline:3px;border-radius:2px}.ring-shape--oval{width:22px;border-radius:50%;transform:none}.ring-shape--round{border-radius:50%;transform:none}.ring-shape--princess{border-radius:2px}.ring-shape--cushion{border-radius:8px;transform:none}.ring-shape--pear{width:22px;border-radius:65% 45% 60% 40%;transform:rotate(45deg)}.ring-shape--marquise{width:20px;border-radius:80% 15%;transform:rotate(45deg)}.ring-style{position:relative;display:inline-block;width:52px;height:30px;flex:0 0 52px}.ring-style:after{position:absolute;top:14px;left:2px;width:48px;border-top:3px double #b8b9bd;content:""}.ring-style:before{position:absolute;z-index:1;top:5px;left:18px;width:17px;height:17px;border:2px solid #aaaeb4;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #ececef;content:""}.ring-style--diamond-band:after{border-top:4px dotted #b5b7bb}.ring-style--halo:before{top:3px;left:16px;width:21px;height:21px;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #d2d3d6}.ring-style--trilogy:before{left:18px;box-shadow:-12px 4px 0 -3px #fff,-12px 4px 0 -1px #b5b7bb,12px 4px 0 -3px #fff,12px 4px 0 -1px #b5b7bb,inset 0 0 0 3px #ececef}.ring-style--mens-engagement:before{top:6px;left:16px;width:21px;height:18px;border-radius:3px}.metal-swatch{display:inline-block;width:28px;height:28px;flex:0 0 28px;border:1px solid #ddd}.metal-swatch--white-gold{background:#f1f1f0}.metal-swatch--yellow-gold{background:#e8d287}.metal-swatch--rose-gold{background:#e9bd9f}.metal-swatch--platinum{background:#c5c7c9}.client-mega-menu--wedding{width:min(720px,calc(100vw - 40px))!important}.client-wedding-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:55px}.client-wedding-grid .client-mega-links{grid-template-columns:1fr}.wedding-band{position:relative;display:inline-block;width:52px;height:16px;flex:0 0 52px;border:2px solid #b8babd;border-radius:9px}.wedding-band--shaped-to-fit:after{position:absolute;top:-4px;left:17px;width:15px;height:8px;border:2px solid #b8babd;border-top:0;border-radius:0 0 8px 8px;background:#fff;content:""}.wedding-band--diamond-set,.wedding-band--eternity-rings{background:radial-gradient(circle,#d1d2d4 0 2px,transparent 3px) 2px 3px/8px 8px}.wedding-band--eternity-rings{background-size:7px 7px}
@media(min-width:992px){.desktop-menu .dropdown:hover>.client-mega-menu,.desktop-menu .client-mega-menu.show{display:block}.desktop-menu .client-mega-menu{top:100%}}
@media(max-width:991.98px){#mobileMenu .client-mega-menu{position:static!important;width:100%!important;margin:4px 0 12px!important;padding:18px!important;transform:none!important;box-shadow:none!important}#mobileMenu .client-mega-menu__heading{text-align:left}#mobileMenu .client-mega-menu__heading a{padding:0 0 8px;font-size:1.05rem}#mobileMenu .client-mega-menu__grid,#mobileMenu .client-wedding-grid{grid-template-columns:1fr;gap:25px}#mobileMenu .client-mega-links{grid-template-columns:1fr 1fr;gap:5px 10px}#mobileMenu .client-mega-links>a{font-size:.78rem;white-space:normal}#mobileMenu .client-create-links{margin-top:18px}#mobileMenu .dropdown-menu.show{display:block}}
@media(max-width:480px){#mobileMenu .client-mega-links{grid-template-columns:1fr}.client-mega-menu{padding:16px!important}}

/* Advanced customer experience */
.product-recommendations{margin-top:5rem;padding-top:3rem;border-top:1px solid #e2ddd3}.product-recommendations__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.75rem}.product-recommendations__heading h2{margin:.35rem 0;color:#172345;font:600 clamp(1.6rem,3vw,2.5rem) "Playfair Display",serif;text-transform:none}.product-recommendations__heading p{margin:0;color:#717171}.product-recommendations__heading>a{color:#172345;font-weight:800;text-decoration:none;white-space:nowrap}.product-recommendations__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.newsletter-consent{display:block;margin-top:.65rem;color:#9ea8bd;font-size:.65rem;line-height:1.5}.newsletter-message{border-left:2px solid #efc978;padding-left:.75rem;color:#fff!important}.customer-privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.customer-privacy-grid article{display:flex;gap:16px;border:1px solid #e0e4ed;padding:20px}.customer-privacy-grid article>i{color:#c99b43;font-size:1.6rem}.customer-privacy-grid h3{font-family:Georgia,serif;font-size:1.2rem}.customer-privacy-grid p{color:#6f7789;font-size:.8rem}.customer-privacy-grid a,.customer-privacy-grid button{display:inline-block;border:0;background:#111b38;color:#fff;padding:10px 14px;text-decoration:none}.customer-privacy-grid textarea{width:100%;margin-bottom:8px;border:1px solid #ccd2de;padding:10px}
@media(max-width:991px){.product-recommendations__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.product-recommendations__heading{align-items:flex-start;flex-direction:column}.product-recommendations__grid,.customer-privacy-grid{grid-template-columns:1fr}}
.trust-page{background:#fbfaf7;color:#172345}.trust-page__hero{padding:clamp(4rem,8vw,7.5rem) 0;background:linear-gradient(120deg,#111a34,#26375e);color:#fff}.trust-page__hero h1{max-width:850px;margin:.5rem 0 1rem;color:#fff;font:500 clamp(2.6rem,6vw,5.4rem)/1.05 "Playfair Display",serif;text-transform:none}.trust-page__hero p{max-width:720px;margin:0;color:#d9deea;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7}.trust-page__content{padding-top:4rem;padding-bottom:6rem}.trust-page__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ded8ce}.trust-page__grid article{background:#fff;padding:clamp(1.5rem,3vw,3rem)}.trust-page__grid article>span{color:#b27b17;font-weight:800;letter-spacing:.12em}.trust-page__grid h2{margin:1rem 0;color:#172345;font:500 1.65rem Georgia,serif;text-transform:none}.trust-page__grid p{margin:0;color:#666;line-height:1.75}.trust-page__contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.5rem;background:#eee8dc;padding:clamp(1.5rem,4vw,3.2rem)}.trust-page__contact h2{margin:.4rem 0;color:#172345;font:500 2rem Georgia,serif;text-transform:none}.trust-page__contact p{margin:0;color:#666}.trust-page__contact>a{background:#172345;padding:14px 20px;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}@media(max-width:800px){.trust-page__grid{grid-template-columns:1fr}.trust-page__contact{align-items:flex-start;flex-direction:column}}
