/* ==========================================================================
   ROM Chocolate & Events: brand theme
   Loaded after misc.css / override.css. Colors and fonts come from the logo:
   dark chocolate, warm cream and a muted gold rule.
   ========================================================================== */

:root {
    --rom-choc: #3b2314;
    --rom-choc-2: #5a3a26;
    --rom-choc-3: #2a180d;
    --rom-cream: #f7efe4;
    --rom-cream-2: #efe3d2;
    --rom-ivory: #fcf8f2;
    --rom-gold: #b8935a;
    --rom-gold-2: #9c7a45;
    --rom-ink: #2b1c12;
    --rom-muted: #7c6a5c;
    --rom-line: #e8dccb;
    --rom-white: #ffffff;
    --rom-danger: #b3452f;
    --rom-success: #4f7a4a;

    --rom-serif: 'Cormorant Garamond', 'Times New Roman', serif;
    --rom-sans: 'Jost', 'Lato', 'Helvetica Neue', Arial, sans-serif;

    --rom-radius: 14px;
    --rom-radius-sm: 8px;
    --rom-shadow: 0 10px 30px rgba(59, 35, 20, .08);
    --rom-shadow-lg: 0 18px 48px rgba(59, 35, 20, .14);
    --rom-ease: cubic-bezier(.2, .7, .2, 1);
    --rom-header-h: 84px;
    --rom-max: 1360px;
}

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; }
body,
body.page {
    background: var(--rom-ivory);
    color: var(--rom-ink);
    font-family: var(--rom-sans);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
body,
body input,
body select,
body textarea,
body button,
body .btn,
body h1, body h2, body h3, body h4, body h5, body h6,
body .tooltip,
body .popover {
    font-family: var(--rom-sans);
}
body h1, body h2, body h3,
body .heading-box h2,
body .heading-box h1 {
    font-family: var(--rom-serif);
    color: var(--rom-choc);
    letter-spacing: .01em;
}
a { color: var(--rom-choc); transition: color .2s var(--rom-ease); }
a:hover, a:focus { color: var(--rom-gold-2); text-decoration: none; }
::selection { background: var(--rom-gold); color: #fff; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--rom-gold); outline-offset: 2px; }

/* wider, fluid container (legacy CSS forces 1000px with !important) */
body .container,
body .main-body-wrappers .container,
body .container.rom-container {
    width: 100% !important;
    max-width: var(--rom-max);
    padding-left: 32px !important;
    padding-right: 32px !important;
    margin-left: auto;
    margin-right: auto;
}
body .container .container { padding-left: 0 !important; padding-right: 0 !important; }
/* bootstrap clearfix pseudo-elements would become flex/grid items */
.rom-topbar .rom-container:before, .rom-topbar .rom-container:after,
.rom-header-row:before, .rom-header-row:after,
.rom-nav ul.nav:before, .rom-nav ul.nav:after { display: none !important; }

/* ==========================================================================
   Announcement strip
   ========================================================================== */
.rom-topbar {
    background: var(--rom-choc);
    color: var(--rom-cream);
    font-size: 12.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.rom-topbar .rom-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    gap: 16px;
}
.rom-topbar-delivery { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.rom-topbar .rom-delivery {
    background: none !important;
    padding: 0 0 0 16px;
    position: relative;
    margin: 0;
    color: var(--rom-cream);
}
.rom-topbar .rom-delivery:before {
    content: '';
    position: absolute;
    left: 0; top: 50%;
    width: 6px; height: 6px;
    margin-top: -3px;
    border-radius: 50%;
    background: var(--rom-gold);
}
.rom-delivery-label { color: var(--rom-gold); }
.rom-topbar-right { display: flex; align-items: center; gap: 20px; }
.rom-topbar a,
.rom-topbar li.ext-menu-item a { color: var(--rom-cream); }
.rom-topbar a:hover { color: var(--rom-gold); }
.rom-inline-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; }
.rom-inline-menu li { margin: 0; padding: 0; }
.rom-inline-menu li a { padding: 0; background: none; }
.rom-topbar .rom-currency { border: 0; height: auto; padding: 0; margin: 0; float: none; width: auto; }
.rom-topbar .rom-currency .marrign-left-div { margin: 0; padding: 0; }
.rom-topbar li.ext-menu-item { margin: 0; position: relative; }
.rom-topbar li.ext-menu-item ul { margin-top: 6px; min-width: 80px; border-radius: var(--rom-radius-sm); }
.rom-topbar li.ext-menu-item ul li a { color: var(--rom-choc); }
.rom-topbar .language-div { display: none !important; }
.rom-topbar .rom-currency,
.rom-topbar .rom-social { padding-left: 20px; border-left: 1px solid rgba(247, 239, 228, .2); }

.rom-social { display: flex; align-items: center; gap: 12px; }
.rom-social a { display: inline-flex; }
.rom-social svg { width: 16px; height: 16px; fill: currentColor; }

/* ==========================================================================
   Header: logo | menu | actions
   ========================================================================== */
.rom-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(252, 248, 242, .96);
    -webkit-backdrop-filter: saturate(140%) blur(10px);
    backdrop-filter: saturate(140%) blur(10px);
    border-bottom: 1px solid var(--rom-line);
    transition: box-shadow .25s var(--rom-ease);
}
.rom-header.is-scrolled { box-shadow: 0 6px 24px rgba(59, 35, 20, .08); }
.rom-header-row {
    display: flex;
    align-items: center;
    gap: 28px;
    min-height: var(--rom-header-h);
}
.rom-logo { flex: 0 0 auto; display: inline-flex; }
.rom-logo img {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--rom-line), 0 6px 16px rgba(59, 35, 20, .1);
    transition: transform .3s var(--rom-ease);
}
.rom-logo:hover img { transform: scale(1.04); }

/* nav */
.rom-nav { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; }
.rom-nav-head, .rom-nav-account { display: none; }
.rom-nav ul.nav,
.rom-nav ul.navbar-nav {
    display: flex;
    align-items: center;
    float: none;
    margin: 0;
    padding: 0;
    width: auto !important;
}
.rom-nav ul.navbar-nav > li { float: none; position: relative; }
.rom-nav ul.navbar-nav > li > a {
    display: block;
    padding: 30px 16px !important;
    font-family: var(--rom-sans) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rom-choc) !important;
    background: none !important;
    position: relative;
}
.rom-nav ul.navbar-nav > li > a:after {
    content: '';
    position: absolute;
    left: 16px; right: 16px; bottom: 22px;
    height: 1px;
    background: var(--rom-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--rom-ease);
}
.rom-nav ul.navbar-nav > li:hover > a:after,
.rom-nav ul.navbar-nav > li.m-active > a:after,
.rom-nav ul.navbar-nav > li > a.m-item-active:after { transform: scaleX(1); }
.rom-nav ul.navbar-nav > li.has-children > a { padding-right: 28px !important; }
.rom-nav ul.navbar-nav > li.has-children > a:before {
    content: '';
    position: absolute;
    right: 13px; top: 50%;
    width: 6px; height: 6px;
    margin-top: -5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}
/* separator between categories and brand pages */
.rom-nav .rom-pages-menu { margin-left: 8px !important; padding-left: 8px !important; border-left: 1px solid var(--rom-line); }

/* dropdowns (category children) */
.rom-nav .main-menu li ul.submenu-div {
    display: block;
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s var(--rom-ease), transform .2s var(--rom-ease), visibility .2s;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    width: auto !important;
    padding: 12px !important;
    margin: 0;
    float: none;
    background: var(--rom-white);
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    box-shadow: var(--rom-shadow-lg);
    list-style: none;
}
.rom-nav .main-menu li:hover > ul.submenu-div,
.rom-nav .main-menu li:focus-within > ul.submenu-div { visibility: visible; opacity: 1; transform: none; }
.rom-nav .main-menu li ul.submenu-div li { display: block; padding: 0; min-width: 0; }
.rom-nav .main-menu li ul.submenu-div li a {
    display: block;
    padding: 9px 14px !important;
    border-radius: var(--rom-radius-sm);
    font-weight: 400 !important;
    font-size: 15px;
    color: var(--rom-ink) !important;
    letter-spacing: 0;
    text-transform: none;
}
.rom-nav .main-menu li ul.submenu-div li a:hover,
.rom-nav .main-menu li ul.submenu-div li.mc-active a { background: var(--rom-cream); color: var(--rom-choc) !important; }

/* actions */
.rom-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; margin-left: auto; }
.rom-actions-menu { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
.rom-actions-menu li { margin: 0; padding: 0; }
.rom-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--rom-choc);
    cursor: pointer;
    transition: background .2s var(--rom-ease), color .2s var(--rom-ease);
}
.rom-icon-btn:hover, .rom-icon-btn:focus { background: var(--rom-cream); color: var(--rom-choc); }
.rom-icon-btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rom-actions .badge,
.rom-actions .badge.cart-size,
.rom-actions .badge.wishlist-size {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--rom-gold);
    color: #fff;
    font: 600 10.5px/18px var(--rom-sans);
    text-align: center;
}
.rom-actions .badge:empty { display: none; }
.rom-checkout-item { margin-left: 10px !important; }

/* burger */
.rom-burger { display: none; flex-direction: column; gap: 5px; }
.rom-burger span { display: block; width: 20px; height: 1.6px; background: currentColor; border-radius: 2px; }

/* search panel */
.rom-search {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s var(--rom-ease), border-color .3s;
    border-top: 1px solid transparent;
}
.rom-search.is-open { max-height: 120px; border-top-color: var(--rom-line); }
.rom-search .search_bar { margin: 0 !important; padding: 18px 0; width: auto; float: none; }
.rom-search form { position: relative; display: flex; gap: 10px; max-width: 760px; margin: 0 auto; }
.rom-search form > svg {
    position: absolute; left: 18px; top: 50%;
    width: 20px; height: 20px; margin-top: -10px;
    fill: none; stroke: var(--rom-muted); stroke-width: 1.6; stroke-linecap: round;
}
.rom-search input.form-control,
body .rom-search .search_bar .form-control {
    flex: 1;
    height: 50px;
    margin: 0 !important;
    padding: 0 20px 0 50px;
    border: 1px solid var(--rom-line);
    border-radius: 999px;
    background: #fff;
    font-size: 15px;
    box-shadow: none;
    width: auto;
}
.rom-search input.form-control:focus { border-color: var(--rom-gold); box-shadow: 0 0 0 4px rgba(184, 147, 90, .15); }
body .rom-search .rom-btn { height: 50px; padding: 0 28px; }

/* jQuery-UI autosuggest */
.ui-autocomplete.ui-menu {
    z-index: 1050 !important;
    padding: 8px;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    background: #fff;
    box-shadow: var(--rom-shadow-lg);
    font-family: var(--rom-sans);
}
.ui-autocomplete .ui-menu-item a,
.ui-autocomplete .ui-menu-item { border-radius: var(--rom-radius-sm); padding: 6px 10px; border: 0 !important; }
.ui-autocomplete .ui-state-focus,
.ui-autocomplete .ui-state-active { background: var(--rom-cream) !important; color: var(--rom-choc) !important; border: 0 !important; margin: 0 !important; }

.rom-overlay { display: none; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.rom-btn,
body .btn-inverse,
body .btn.btn-inverse,
body .addtocart-div .btn,
body .btn-primary,
body input[type=submit].btn,
body button.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 24px;
    border: 1px solid var(--rom-choc) !important;
    border-radius: 999px !important;
    background: var(--rom-choc) !important;
    background-image: none !important;
    color: var(--rom-cream) !important;
    font: 500 13px/1.2 var(--rom-sans);
    letter-spacing: .12em;
    text-transform: uppercase;
    text-shadow: none;
    box-shadow: none;
    cursor: pointer;
    transition: background .2s var(--rom-ease), color .2s var(--rom-ease), border-color .2s var(--rom-ease), transform .2s var(--rom-ease);
}
.rom-btn:hover, .rom-btn:focus,
body .btn-inverse:hover, body .btn-inverse:focus,
body .addtocart-div .btn:hover,
body .btn-primary:hover,
body button.btn:hover,
body input[type=submit].btn:hover {
    background: var(--rom-gold) !important;
    border-color: var(--rom-gold) !important;
    color: #fff !important;
}
.rom-btn:active, body .btn:active { transform: translateY(1px); }
.rom-btn-sm { min-height: 38px; padding: 6px 18px; font-size: 12px; }
body .btn-default {
    border-radius: 999px;
    border-color: var(--rom-line);
    background: #fff;
    color: var(--rom-choc);
    text-shadow: none;
    box-shadow: none;
    background-image: none;
}
body .btn-default:hover { border-color: var(--rom-choc); background: var(--rom-cream); }

/* ==========================================================================
   Forms
   ========================================================================== */
body .form-control,
body input[type=text],
body input[type=email],
body input[type=password],
body input[type=tel],
body input[type=number],
body select,
body textarea {
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius-sm);
    background-color: #fff;
    color: var(--rom-ink);
    box-shadow: none;
    font-size: 15px;
    transition: border-color .2s, box-shadow .2s;
}
body .form-control { height: 46px; padding: 10px 14px; }
body textarea.form-control { height: auto; min-height: 110px; }
body .form-control:focus,
body input:focus,
body select:focus,
body textarea:focus {
    border-color: var(--rom-gold);
    box-shadow: 0 0 0 4px rgba(184, 147, 90, .15);
    outline: 0;
}
body label { font-weight: 500; color: var(--rom-choc); }
body input[type=checkbox],
body input[type=radio] { accent-color: var(--rom-choc); width: 16px; height: 16px; vertical-align: -3px; margin-right: 6px; }
body .error, body .errorMessage, body .help-block.error { color: var(--rom-danger); }
body .alert { border-radius: var(--rom-radius-sm); border: 0; }
body .alert-success { background: #edf3ea; color: var(--rom-success); }
body .alert-danger, body .alert-error { background: #f8e9e5; color: var(--rom-danger); }

/* ==========================================================================
   Page body, breadcrumbs, headings
   ========================================================================== */
.main-body-wrappers { padding-bottom: 72px; background: var(--rom-ivory); }
body .page-breadcrumbs .breadcrumb,
body .breadcrumb {
    margin: 24px 0 8px;
    padding: 0;
    background: none;
    font-size: 13px;
    letter-spacing: .04em;
}
body .breadcrumb > li + li:before { content: '/'; color: var(--rom-gold); padding: 0 10px; }
body .breadcrumb a { color: var(--rom-muted); }
body .breadcrumb > li:last-child a,
body .breadcrumb > .active { color: var(--rom-choc); }
.content-wrapper { padding-top: 16px; }
body #nc-middle { font-size: 15px; }

body #nc-middle .heading-box h2,
body .register-inner-pages .heading-box h2,
body .shopping-cart-main-div .heading-box h2,
body .sitemap-pages-main .heading-box h2,
body .heading-box h2 {
    margin: 12px 0 20px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--rom-line);
    font-family: var(--rom-serif);
    font-size: 34px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--rom-choc);
    text-transform: none;
    text-align: left;
    position: relative;
}
body #nc-middle .heading-box h2:after,
body .heading-box h2:after {
    content: '';
    position: absolute;
    left: 0; bottom: -1px;
    width: 56px; height: 2px;
    background: var(--rom-gold);
}

/* section heading used on home */
.rom-section-head { text-align: center; margin: 64px 0 32px; }
.rom-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--rom-gold-2);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .28em;
    text-transform: uppercase;
}
.rom-section-head h2 {
    margin: 0;
    font-family: var(--rom-serif);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 600;
    color: var(--rom-choc);
}
.rom-section-head .rom-rule {
    display: block;
    width: 64px;
    height: 1px;
    margin: 16px auto 0;
    background: var(--rom-gold);
}

/* ==========================================================================
   Hero slider (header-bottom position)
   ========================================================================== */
.rom-hero { padding-top: 24px; }
.rom-hero .sp-os,
.rom-hero .module-main-div,
.rom-hero .slider-div { width: 100%; float: none; padding: 0; margin: 0; }
.rom-hero #main-slider {
    border-radius: 22px;
    overflow: hidden;
    background: var(--rom-cream);
    box-shadow: var(--rom-shadow);
}
.rom-hero #main-slider .item img,
body #main-slider img {
    display: block;
    width: 100%;
    height: clamp(260px, 42vw, 560px);
    max-height: none;
    min-height: 0;
    object-fit: cover;
}
.rom-hero .carousel-control {
    top: 50%;
    bottom: auto;
    width: 48px;
    height: 48px;
    margin: -24px 20px 0;
    border-radius: 50%;
    background: rgba(252, 248, 242, .88) !important;
    background-image: none !important;
    color: var(--rom-choc);
    opacity: 0;
    font-size: 26px;
    line-height: 46px;
    text-shadow: none;
    transition: opacity .25s var(--rom-ease);
    box-shadow: var(--rom-shadow);
}
.rom-hero #main-slider:hover .carousel-control { opacity: 1; }
.rom-hero .carousel-control:hover { background: #fff !important; color: var(--rom-choc); }
.rom-hero .carousel-indicators { bottom: 18px; }
.rom-hero .carousel-indicators li { width: 8px; height: 8px; margin: 0 4px; border: 0; background: rgba(255, 255, 255, .6); }
.rom-hero .carousel-indicators .active { width: 26px; height: 8px; margin: 0 4px; border-radius: 4px; background: #fff; }
body.page-site-index .slider-div { margin-bottom: 0; }

/* ==========================================================================
   Home: category cards
   ========================================================================== */
body .home-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 28px;
    margin: 0 0 24px;
    padding: 0;
}
body .home-categories:before, body .home-categories:after { display: none; }
body .home-categories .home-category-item {
    width: auto !important;
    float: none;
    padding: 0;
    margin: 0;
}
body .home-categories .cat-img { width: 100%; float: none; padding: 0; margin: 0; }
body .home-categories .cat-img a {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: var(--rom-radius);
    background: var(--rom-cream);
    box-shadow: var(--rom-shadow);
    transition: box-shadow .35s var(--rom-ease), transform .35s var(--rom-ease);
}
body .home-categories .cat-img a:hover { transform: translateY(-4px); box-shadow: var(--rom-shadow-lg); }
body .home-categories .cat-img img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .6s var(--rom-ease);
}
body .home-categories .cat-img a:hover img { transform: scale(1.05); }
body .home-categories .cat-img .box-title {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 60px 24px 20px;
    background: linear-gradient(to top, rgba(42, 24, 13, .78), rgba(42, 24, 13, 0));
    margin: 0;
    color: #fff;
    font-family: var(--rom-serif);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
    text-align: left;
}
body .home-categories .cat-img .box-title:after {
    content: '\2192';
    font-family: var(--rom-sans);
    font-size: 18px;
    font-weight: 300;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .25s, color .25s;
}
body .home-categories .cat-img a:hover .box-title:after { background: #fff; color: var(--rom-choc); }

/* ==========================================================================
   Category listing: filters sidebar
   ========================================================================== */
body #nc-left .filter-form-wrapper,
body #nc-left .sp-os { width: 100%; float: none; padding: 0; margin: 0; }
body #nc-left .accordion-group {
    margin: 0 0 16px;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    background: #fff;
    overflow: hidden;
}
body #nc-left .accordion-heading .accordion-toggle { display: block; padding: 0; background: none; }
body #nc-left .accordion-heading .heading-box,
body #nc-left .heading-box { margin: 0; padding: 0; background: none; border: 0; }
body #nc-left .accordion-heading .heading-box h2,
body #nc-left .heading-box h2 {
    margin: 0;
    padding: 16px 18px;
    border: 0;
    background: none;
    font-family: var(--rom-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--rom-choc);
}
body #nc-left .heading-box h2:after { display: none; }
body #nc-left .heading-box .glyphicon { float: right; color: var(--rom-gold); font-size: 10px; top: 4px; }
body #nc-left .accordion-inner { padding: 0 18px 16px; border: 0; }
body #nc-left .accordion-body { margin: 0; }
body #nc-left .filter-list { list-style: none; margin: 0; padding: 0; }
body #nc-left .filter-item { padding: 5px 0; }
body #nc-left .filter-item label { font-weight: 400; color: var(--rom-ink); cursor: pointer; margin: 0; }
body #nc-left .filter-inner p { color: var(--rom-muted); font-size: 13px; margin-bottom: 10px; }
body #nc-left .price-input-box { display: flex; align-items: center; gap: 8px; }
body #nc-left .price-input { flex: 1; }
body #nc-left .price-input input { width: 100%; height: 40px; padding: 6px 10px; float: none; }
body #nc-left .btn-main-left-padding { width: auto; float: none; padding: 0; }
body #nc-left .btn-main-left-padding .btn { min-height: 40px; padding: 6px 16px; }

/* sort bar */
body .fliter-bar-div {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 20px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--rom-line);
}
body .fliter-bar-div > div { width: auto; float: none; display: flex; align-items: center; gap: 12px; padding: 0; }
body .fliter-bar-div .sort-by-div,
body .fliter-bar-div .sorts-by-div { width: auto; float: none !important; padding: 0; color: var(--rom-muted); white-space: nowrap; }
body .fliter-bar-div select.form-control { min-width: 200px; height: 42px; border-radius: 999px; padding: 0 16px; }

/* ==========================================================================
   Product cards (grid)
   ========================================================================== */
body .products-gridview .products-main-container,
body ul.products-main-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body li.product-main-container {
    width: auto !important;
    float: none;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0;
    display: flex;
}
body li.product-main-container .categort-position {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    background: #fff;
    overflow: hidden;
    transition: box-shadow .3s var(--rom-ease), transform .3s var(--rom-ease), border-color .3s;
}
body li.product-main-container .categort-position:hover { transform: translateY(-3px); box-shadow: var(--rom-shadow-lg); border-color: transparent; }
body li.product-main-container .col-md-12 { width: 100%; float: none; padding-left: 0; padding-right: 0; }
body li.product-main-container .product-image-container { padding: 0; overflow: hidden; background: var(--rom-cream); }
body li.product-main-container .product-image-container img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    padding: 0;
    float: none;
    transition: transform .6s var(--rom-ease);
}
body li.product-main-container .categort-position:hover .product-image-container img { transform: scale(1.05); }
body li.product-main-container .prd-info-container { padding: 18px 18px 0 !important; text-align: left; }
body li.product-main-container .prd-reference {
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rom-gold-2);
    margin: 0 0 4px;
    text-align: left;
}
body li.product-main-container .product-del-box { padding: 0; margin: 0; background: none; text-align: left; min-height: 0 !important; }
body li.product-main-container .product-del-box h2 {
    margin: 0 0 4px;
    min-height: 0 !important;
    font-family: var(--rom-serif);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--rom-choc);
    text-transform: none;
    text-align: left;
}
body li.product-main-container .prd-year-size { color: var(--rom-muted); font-size: 13px; text-align: left; }
body li.product-main-container .block-rating { padding: 6px 18px 0 !important; text-align: left; }
body li.product-main-container .block-rating input[type=text] { display: none; }
body li.product-main-container .raty-icons img { width: 13px; height: 13px; }
body li.product-main-container .product-quantity-div { padding: 2px 18px 0 !important; font-size: 12px; color: var(--rom-muted); font-weight: 400; text-align: left; }
body li.product-main-container .prd-arrivals-quantity:empty { display: none; }
body li.product-main-container .right-main-div { margin-top: auto; padding: 12px 18px 18px !important; }
body li.product-main-container .price-div { margin: 0 0 12px; text-align: left; }
body .price-new,
body .price-div .price-new {
    font-family: var(--rom-sans);
    font-size: 20px;
    font-weight: 600;
    color: var(--rom-choc);
}
body .price-old { color: var(--rom-muted); text-decoration: line-through; margin-right: 8px; }

/* qty stepper */
body .quantity-toadd-div { margin: 0 0 10px; padding: 0; float: none; width: 100%; }
body .quantity-toadd-group {
    display: flex;
    align-items: center;
    height: 42px;
    border: 1px solid var(--rom-line);
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}
body .quantity-toadd-group .btn-quantity {
    flex: 0 0 42px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rom-choc);
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    transition: background .2s;
}
body .quantity-toadd-group .btn-quantity:hover { background: var(--rom-cream); }
body .quantity-toadd-group .btn-quantity .glyphicon { font-size: 10px; color: inherit; }
body .quantity-toadd-group input.quantity-toadd {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    text-align: center;
    font-weight: 500;
    padding: 0;
    background: transparent;
}
body li.product-main-container .addtocart-div { margin: 0; padding: 0; float: none; width: 100%; }
body li.product-main-container .addtocart-div .btn { width: 100%; }
body li.product-main-container.in-cart .addtocart-div .btn { background: var(--rom-gold) !important; border-color: var(--rom-gold) !important; }

/* compare / wishlist links */
body .main-review-div,
body .addbtns-div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    background: none;
}
body .main-review-div > span,
body .addbtns-div > span,
body .addbtns-div > div {
    width: auto !important;
    float: none !important;
    padding: 0 !important;
    margin: 0;
    background: none !important;
    border: 0 !important;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rom-muted);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
body .main-review-div a,
body .addbtns-div a { color: var(--rom-muted); }
body .main-review-div a:hover,
body .addbtns-div a:hover { color: var(--rom-choc); }
body .main-review-div .glyphicon,
body .addbtns-div .glyphicon { color: var(--rom-gold); font-size: 11px; }
body .main-review-div .clearfix { display: none; }
body li.product-main-container.in-wishlist .addto-wishlist .glyphicon { color: var(--rom-danger); }

/* pager */
body .pagination > li > a,
body .pagination > li > span,
body .yiiPager li a {
    margin: 0 3px;
    border: 1px solid var(--rom-line);
    border-radius: 50% !important;
    min-width: 40px;
    height: 40px;
    line-height: 38px;
    padding: 0 8px;
    text-align: center;
    color: var(--rom-choc);
    background: #fff;
}
body .pagination > .active > a,
body .pagination > .active > span,
body .yiiPager li.selected a { background: var(--rom-choc); border-color: var(--rom-choc); color: #fff; }

/* ==========================================================================
   Product details
   ========================================================================== */
body .detail-page { margin: 8px 0 0; padding: 0; float: none; width: 100%; }
body .detail-page > .col-md-12 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    padding: 0;
    float: none;
}
body .detail-page .image-details,
body .detail-page .product-details { width: auto; float: none; padding: 0; }
body .detail-page .image-details img,
body .prd-detail-img-single img {
    width: 100%;
    border-radius: 22px;
    background: var(--rom-cream);
    box-shadow: var(--rom-shadow);
}
body .heading-product,
body .detail-page .heading-box.heading-product { margin: 0 0 8px; padding: 0; border: 0; background: none; }
body .detail-page .heading-product h1,
body .detail-page .heading-product h2,
body .detail-page .name-div h1 {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    font-family: var(--rom-serif);
    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 600;
    line-height: 1.08;
    color: var(--rom-choc);
    text-transform: none;
    text-decoration: none;
}
body .detail-page .heading-product h1:after,
body .detail-page .heading-product h2:after { display: none; }
body .detail-page .product-detail-div { color: var(--rom-muted); font-size: 15px; }
body .detail-page .product-detail-div strong,
body .detail-page .product-detail-div b { color: var(--rom-choc); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; margin-right: 6px; }
body .detail-page .price-divs {
    margin: 22px 0;
    padding: 18px 0;
    border-top: 1px solid var(--rom-line);
    border-bottom: 1px solid var(--rom-line);
    display: flex;
    align-items: baseline;
    gap: 14px;
}
body .detail-page .price-divs .price-label,
body .detail-page .price-divs .tital-h4 { margin: 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--rom-muted); }
body .detail-page .price-divs .price-new,
body .detail-page .new-price-div { font-size: 30px; font-weight: 500; color: var(--rom-choc); }
body .detail-page .picer-div-window,
body .detail-page .product-items {
    padding: 18px 20px;
    margin: 0 0 18px;
    background: var(--rom-cream);
    border-radius: var(--rom-radius);
    border: 0;
}
body .detail-page .product-items .attribute_label,
body .detail-page .product-items label { font-weight: 400; color: var(--rom-ink); }
body .detail-page .quantity-toadd-div { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
body .detail-page .quantity-toadd-div > .col-md-5 { width: 160px; float: none; padding: 0; }
body .detail-page .add-quantity-label { display: block; margin-bottom: 6px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--rom-muted); }
body .detail-page .addtocart-div-close { display: flex; gap: 12px; padding: 0; margin: 14px 0 0; float: none; }
body .detail-page .addtocart-div { width: auto; float: none; padding: 0; flex: 1; max-width: 360px; }
body .detail-page .addtocart-div .btn { width: 100%; min-height: 52px; font-size: 14px; }
body .detail-page .addbtns-div { justify-content: flex-start; gap: 24px; margin-top: 18px; }
body .detail-page .addbtns-div > span,
body .detail-page .addbtns-div > div { font-size: 12.5px; }
body .detail-page .addbtns-div .write-a-review,
body .detail-page .addbtns-div .addto-wishlist { background: none !important; }

/* reviews block */
body #review_report,
body .review-product-div { margin-top: 48px; }
body .review-product-div,
body .review-product-div td { border: 0 !important; }
body .space-box { border-top: 1px solid var(--rom-line); margin-top: 48px; padding-top: 24px; }
body #review_code + img,
body .review-product-div img[src*=captcha] { border-radius: var(--rom-radius-sm); }

/* ==========================================================================
   Tables (cart, orders, compare)
   ========================================================================== */
body .table,
body table.items {
    background: #fff;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}
body .table > thead > tr > th,
body table.items th,
body .table th {
    background: var(--rom-cream) !important;
    color: var(--rom-choc) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rom-line) !important;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body .table > tbody > tr > td,
body table.items td {
    padding: 16px;
    border-top: 1px solid var(--rom-line) !important;
    vertical-align: middle;
}
body .table > tbody > tr:first-child > td { border-top: 0 !important; }
body .table-striped > tbody > tr:nth-child(odd) > td { background: var(--rom-ivory); }

/* boxed content areas (cart, checkout, account, login) */
body .shopping-cart-main-div,
body .login-inner-pages,
body .register-inner-pages,
body .checkout-main-div,
body .account-main-div,
body #login-form {
    background: none;
}
body .page-account-login #nc-middle form,
body .page-account-register #nc-middle form,
body .page-account-forgotpassword #nc-middle form,
body .page-checkout-checkoutmethod #nc-middle .col-md-6,
body .page-checkout-login #nc-middle .col-md-6 {
    background: #fff;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    padding: 28px;
}

/* account sidebar menu */
body #nc-left .module-main-div .list-group-item,
body #nc-left .account-module li a,
body #nc-left ul.nav li a {
    border: 0;
    border-radius: var(--rom-radius-sm);
    color: var(--rom-ink);
    padding: 10px 14px;
}
body #nc-left ul.nav li a:hover,
body #nc-left ul.nav li.active a { background: var(--rom-cream); color: var(--rom-choc); }

/* modal */
body .modal-content { border: 0; border-radius: 18px; box-shadow: var(--rom-shadow-lg); }
body .modal-header { border-bottom-color: var(--rom-line); }
body .modal-footer { border-top-color: var(--rom-line); }

/* flash messages */
body .notification-msg-div { position: relative; z-index: 1040; }

/* content pages (about, celebrations, terms...) */
body .content-page,
body .page-content { font-size: 16px; line-height: 1.8; color: var(--rom-ink); }
body .content-page h1, body .content-page h2, body .content-page h3,
body .page-content h1, body .page-content h2, body .page-content h3 { font-family: var(--rom-serif); color: var(--rom-choc); }
body .content-page img, body .page-content img { border-radius: var(--rom-radius); }

/* ==========================================================================
   Footer
   ========================================================================== */
body #bottom.rom-footer {
    margin: 0;
    padding: 72px 0 48px;
    background: var(--rom-choc);
    color: rgba(247, 239, 228, .78);
    border: 0;
}
.rom-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
}
.rom-footer-logo img {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(184, 147, 90, .5);
}
.rom-footer-brand p { margin: 20px 0; max-width: 320px; font-size: 15px; line-height: 1.7; }
.rom-footer .rom-social { gap: 10px; }
.rom-footer .rom-social a {
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(247, 239, 228, .25);
    border-radius: 50%;
    color: var(--rom-cream);
    transition: background .2s, border-color .2s, color .2s;
}
.rom-footer .rom-social a:hover { background: var(--rom-gold); border-color: var(--rom-gold); color: #fff; }
.rom-footer-col h2 {
    margin: 8px 0 22px;
    padding: 0;
    border: 0;
    font-family: var(--rom-sans) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--rom-gold) !important;
}
.rom-footer-col ul { list-style: none; margin: 0; padding: 0; }
.rom-footer-col li { margin: 0 0 12px; }
.rom-footer-col a { color: rgba(247, 239, 228, .78); font-size: 15px; }
.rom-footer-col a:hover { color: #fff; }
.rom-footer .f-payment-wrapper { display: flex; flex-wrap: wrap; gap: 10px; }
.rom-footer .f-payment { margin: 0; padding: 4px 8px; background: #fff; border-radius: 6px; float: none; }

body footer.rom-copyright,
body .rom-copyright {
    background: var(--rom-choc-3);
    color: rgba(247, 239, 228, .6);
    border: 0;
    padding: 0;
}
.rom-copyright .rom-container { padding-top: 20px; padding-bottom: 20px; }
.rom-copyright p.copyright { margin: 0; font-size: 13px; letter-spacing: .04em; text-align: center; color: inherit; }
.rom-copyright a { color: var(--rom-cream); }
.rom-copyright a:hover { color: var(--rom-gold); }

/* scroll-to-top button (ext.topBottom) */
body #top-link,
body .topBottom a,
body #scrollTop { border-radius: 50%; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
    .rom-nav ul.navbar-nav > li > a { padding-left: 11px !important; padding-right: 11px !important; letter-spacing: .1em; font-size: 12.5px; }
    .rom-nav ul.navbar-nav > li.has-children > a { padding-right: 24px !important; }
    .rom-nav ul.navbar-nav > li > a:after { left: 11px; right: 11px; }
    .rom-checkout-item { display: none; }
    .rom-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
    .rom-footer-brand { grid-column: 1 / -1; }
}

/* tablet & phone: drawer navigation */
@media (max-width: 991px) {
    :root { --rom-header-h: 68px; }
    body .container,
    body .main-body-wrappers .container,
    body .container.rom-container { padding-left: 20px !important; padding-right: 20px !important; }

    .rom-topbar .rom-container { justify-content: center; }
    .rom-topbar-right { display: none; }

    .rom-header-row { gap: 4px; }
    .rom-burger { display: inline-flex; }
    .rom-logo { position: absolute; left: 50%; transform: translateX(-50%); }
    .rom-logo img { width: 52px; height: 52px; }
    .rom-account-link { display: none; }

    .rom-nav {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        z-index: 1060;
        width: min(86vw, 360px);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 0 0 24px;
        background: var(--rom-ivory);
        box-shadow: var(--rom-shadow-lg);
        overflow-y: auto;
        transform: translateX(-102%);
        transition: transform .35s var(--rom-ease);
        visibility: hidden;
    }
    body.rom-nav-open .rom-nav { transform: none; visibility: visible; }
    .rom-nav-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 16px 14px 24px;
        border-bottom: 1px solid var(--rom-line);
    }
    .rom-nav-title { font-family: var(--rom-serif); font-size: 24px; font-weight: 600; color: var(--rom-choc); }
    .rom-nav-close { font-size: 30px; line-height: 1; }
    .rom-nav ul.nav,
    .rom-nav ul.navbar-nav { display: block; width: 100% !important; padding: 8px 0 !important; }
    .rom-nav .rom-pages-menu { margin: 0 !important; border-left: 0; border-top: 1px solid var(--rom-line); }
    .rom-nav ul.navbar-nav > li > a {
        padding: 15px 24px !important;
        font-size: 14px;
        letter-spacing: .12em;
    }
    .rom-nav ul.navbar-nav > li > a:after { display: none; }
    .rom-nav ul.navbar-nav > li.has-children > a:before { right: 26px; transition: transform .25s; }
    .rom-nav ul.navbar-nav > li.has-children.is-expanded > a:before { transform: rotate(-135deg); margin-top: -1px; }
    .rom-nav .main-menu li ul.submenu-div {
        position: static;
        display: none;
        visibility: visible;
        opacity: 1;
        transform: none;
        min-width: 0;
        margin: 0 16px 8px;
        padding: 6px !important;
        box-shadow: none;
        background: var(--rom-cream);
        border: 0;
    }
    .rom-nav .main-menu li:hover > ul.submenu-div { display: none; }
    .rom-nav .main-menu li.is-expanded > ul.submenu-div { display: block; }
    .rom-nav-account {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-top: auto;
        padding: 16px 24px 0;
        border-top: 1px solid var(--rom-line);
    }
    .rom-nav-account a { padding: 8px 0; color: var(--rom-muted); font-size: 14px; }

    .rom-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1055;
        background: rgba(42, 24, 13, .45);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s var(--rom-ease), visibility .3s;
    }
    body.rom-nav-open .rom-overlay { opacity: 1; visibility: visible; }
    body.rom-nav-open { overflow: hidden; }

    /* layout columns stack */
    body #nc-div-middle { display: flex; flex-direction: column; }
    body #nc-div-middle > #nc-left,
    body #nc-div-middle > #nc-middle,
    body #nc-div-middle > #nc-right,
    body .page-product-category #nc-div-middle #nc-left,
    body .page-product-category #nc-div-middle #nc-middle,
    body .page-product-search #nc-div-middle #nc-left,
    body .page-product-search #nc-div-middle #nc-middle,
    body .page-product-brandproducts #nc-div-middle #nc-left,
    body .page-product-brandproducts #nc-div-middle #nc-middle,
    body .page-account-index #nc-left, body .page-account-index #nc-middle,
    body .page-account-profile #nc-left, body .page-account-profile #nc-middle,
    body .page-account-address #nc-left, body .page-account-address #nc-middle,
    body .page-account-wishlist #nc-left, body .page-account-wishlist #nc-middle,
    body .page-account-orderhistory #nc-left, body .page-account-orderhistory #nc-middle {
        width: 100% !important;
        float: none;
        padding-left: 0;
        padding-right: 0;
    }
    body #nc-left .filter-form-wrapper .module-content { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
    body #nc-left .accordion-group { margin: 0; }

    body .detail-page > .col-md-12 { grid-template-columns: 1fr; gap: 28px; }

    .rom-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 767px) {
    body { font-size: 14.5px; }
    body .container,
    body .main-body-wrappers .container,
    body .container.rom-container { padding-left: 16px !important; padding-right: 16px !important; }

    .rom-topbar { font-size: 11px; }
    .rom-topbar-delivery { gap: 12px; justify-content: center; }

    .rom-hero { padding-top: 12px; }
    .rom-hero #main-slider { border-radius: 14px; }
    .rom-hero .carousel-control { display: none; }

    .rom-section-head { margin: 40px 0 22px; }
    body .home-categories { grid-template-columns: 1fr 1fr; gap: 14px; }
    body .home-categories .cat-img .box-title { padding: 40px 14px 12px; font-size: 20px; }
    body .home-categories .cat-img .box-title:after { width: 28px; height: 28px; font-size: 14px; }

    body ul.products-main-container,
    body .products-gridview .products-main-container { grid-template-columns: 1fr 1fr; gap: 12px; }
    body li.product-main-container .prd-info-container { padding: 12px 12px 0 !important; }
    body li.product-main-container .block-rating,
    body li.product-main-container .product-quantity-div { padding-left: 12px !important; padding-right: 12px !important; }
    body li.product-main-container .right-main-div { padding: 10px 12px 12px !important; }
    body li.product-main-container .product-del-box h2 { font-size: 18px; }
    body .price-new { font-size: 17px; }
    body li.product-main-container .addtocart-div .btn { padding: 8px 10px; letter-spacing: .06em; font-size: 11.5px; }
    body .main-review-div { flex-wrap: wrap; }

    body .fliter-bar-div { justify-content: stretch; }
    body .fliter-bar-div > div { width: 100%; }
    body .fliter-bar-div select.form-control { min-width: 0; width: 100%; }

    body .heading-box h2,
    body #nc-middle .heading-box h2 { font-size: 28px; }

    body .table-responsive-stack,
    body .shopping-cart-main-div,
    body #nc-middle .table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

    #bottom.rom-footer { padding: 52px 0 32px; }
    .rom-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
    .rom-footer-brand p { max-width: none; }
}

@media (max-width: 420px) {
    .rom-icon-btn { width: 40px; height: 40px; }
    .rom-search-toggle { display: none; }
    .rom-search { max-height: none; border-top-color: var(--rom-line); }
    .rom-search .search_bar { padding: 12px 0; }
    .rom-search form .rom-btn { display: none; }
    .rom-search input.form-control,
    body .rom-search .search_bar .form-control { height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   Fixes over legacy rules
   ========================================================================== */
/* product cards: legacy fixed height clipped the buttons */
body li.product-main-container,
body li.product-main-container .categort-position { height: auto !important; min-height: 0 !important; max-height: none !important; }

/* filter headings */
body #nc-left .accordion-heading,
body #nc-left .accordion-heading a,
body #nc-left .accordion-heading .heading-box,
body #nc-left .accordion-heading h2 { background: #fff !important; }
body #nc-left .accordion-heading .heading-box h2 .glyphicon { font-size: 9px; }
body #nc-left .accordion-inner { background: #fff; }

/* sort bar: label before select */
body .fliter-bar-div > div { flex-direction: row-reverse; justify-content: flex-start; }

/* product detail title + meta */
body .detail-page .name-div h1 {
    margin: 0 0 18px;
    padding: 0;
    border: 0 !important;
    font-family: var(--rom-serif);
    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 600;
    line-height: 1.08;
    color: var(--rom-choc);
    text-transform: none;
    text-decoration: none;
}
body .detail-page .product-detail-div { margin: 0 0 6px; }
body .detail-page .price-divs h3,
body .detail-page .price-divs h4 { margin: 0; padding: 0; border: 0; font-family: var(--rom-sans); }
body .detail-page .price-divs .price-label { font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--rom-muted); }
body .detail-page .price-divs .price-div,
body .detail-page .price-divs .new-price-div { font-family: var(--rom-sans); font-size: 30px; font-weight: 500; color: var(--rom-choc); margin: 0; }
body .detail-page .addbtns-div > .col-md-5 { display: flex; gap: 24px; width: auto; float: none; }
body .detail-page .addbtns-div .write-a-review,
body .detail-page .addbtns-div .addto-wishlist {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 12.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
body .detail-page .addbtns-div .write-a-review .glyphicon,
body .detail-page .addbtns-div .addto-wishlist .glyphicon { display: inline-block; color: var(--rom-gold); font-size: 11px; margin: 0; }
body .detail-page .addbtns-div a { color: var(--rom-muted); }
body .detail-page .addbtns-div a:hover { color: var(--rom-choc); }

/* review form */
body .detail-page .space-box { border: 0; margin-top: 56px; padding-top: 0; }
body .detail-page .heading-product { border-top: 1px solid var(--rom-line); padding-top: 40px !important; }
body .detail-page .heading-product h2 { border: 0; padding: 0; margin: 0 0 20px; font-size: 34px; }
body .detail-page .heading-product h2:after { display: none; }
body .review-product-div { max-width: 760px; padding: 12px 24px 24px; }
body .review-product-div td { padding: 8px 0 !important; vertical-align: top; }
body .review-product-div #review_code { width: 220px; margin-right: 10px; }
body .review-product-div img[alt=captcha] { height: 46px; border-radius: var(--rom-radius-sm); vertical-align: top; }
body .detail-page .name-div h1 { text-transform: none !important; }
body li.product-main-container .block-rating,
body li.product-main-container .block-rating .rating-div { min-height: 0 !important; height: auto !important; margin: 0 !important; }
body li.product-main-container .prd-info-container,
body li.product-main-container .product-del-box { min-height: 0 !important; height: auto !important; }
.rom-section-head h2 { font-size: clamp(32px, 4vw, 46px) !important; line-height: 1.15 !important; }
body #nc-left .accordion-heading .heading-box h2 { font-size: 13px !important; letter-spacing: .16em !important; }
body li.product-main-container .block-rating,
body li.product-main-container .raty-icons { text-align: left !important; }
@media (max-width: 991px) {
    /* backdrop-filter would trap the fixed drawer inside the header */
    .rom-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--rom-ivory); }
}
@media (max-width: 991px) {
    body.rom-nav-open .rom-header { z-index: 1070; }
    .rom-nav ul.navbar-nav > li,
    .rom-nav .nav-shoppidia li { display: block !important; float: none !important; width: 100% !important; margin: 0 !important; }
}

/* cart */
body .main-shopping-div .table-head { background: var(--rom-cream); }
body .main-shopping-div .table-head .table-column { color: var(--rom-choc); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
body .main-shopping-div .table-column.prd-remove { overflow: visible; white-space: nowrap; }
body .main-shopping-div .prd-image img { border-radius: var(--rom-radius-sm); }
body .main-shopping-div .glyphicon-trash { color: var(--rom-muted); }
body .main-shopping-div .glyphicon-trash:hover { color: var(--rom-danger); }
body .bag-footer,
body .bag-footer .shopping-bg-commer,
body .bg-color-div { background: var(--rom-cream) !important; border: 0 !important; }
body .bag-footer { border-radius: var(--rom-radius); overflow: hidden; margin-top: 20px; }
body .bag-summary { border-left: 1px solid var(--rom-line) !important; }
body .bag-summary,
body .bag-summary * { font-family: var(--rom-sans); color: var(--rom-choc); }
body .shopping-cart-main-div .glyphicon-circle-arrow-left,
body .shopping-cart-main-div .glyphicon-circle-arrow-right { color: var(--rom-gold); }
@media (max-width: 767px) {
    body .bag-footer > div { width: 100% !important; float: none !important; }
    body .bag-summary { border-left: 0 !important; border-top: 1px solid var(--rom-line) !important; }
}
body .main-shopping-div .table-column.prd-remove { text-align: center; padding-right: 16px; }

/* hero slider arrows: legacy CSS hid the glyph with text-indent and drew
   arrows as background images; draw a crisp chevron instead */
.rom-hero .carousel-control.left,
.rom-hero .carousel-control.right {
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
    font-size: 0;
    color: var(--rom-choc);
}
.rom-hero .carousel-control.left { left: 0; right: auto; }
.rom-hero .carousel-control.right { right: 0; left: auto; }
.rom-hero .carousel-control:before {
    content: '';
    width: 11px;
    height: 11px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}
.rom-hero .carousel-control.left:before { transform: rotate(-135deg); margin-left: 5px; }
.rom-hero .carousel-control.right:before { transform: rotate(45deg); margin-right: 5px; }
.rom-hero .carousel-control:hover,
.rom-hero .carousel-control:focus { background: var(--rom-choc) !important; color: var(--rom-cream); opacity: 1; }
/* keep the arrows faintly visible before hover, and always on touch screens */
.rom-hero .carousel-control { opacity: .75; }
@media (hover: none) { .rom-hero .carousel-control { opacity: 1; } }

/* back-to-top button (ext.topBottom): replace the navy PNG with a brand button */
body #topcontrol { right: 24px !important; bottom: 24px !important; z-index: 1020; }
body #topcontrol .backtotop {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--rom-gold) !important;
    box-shadow: 0 0 0 3px rgba(252, 248, 242, .9), 0 8px 22px rgba(59, 35, 20, .28);
    transition: background .2s var(--rom-ease), transform .2s var(--rom-ease);
}
body #topcontrol .backtotop:before {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    width: 12px; height: 12px;
    margin: -3px 0 0 -6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(45deg);
}
body #topcontrol:hover .backtotop { background: var(--rom-choc) !important; transform: translateY(-2px); }
body #topcontrol .backtobottom { display: none !important; }
@media (max-width: 767px) {
    body #topcontrol { right: 16px !important; bottom: 16px !important; }
    body #topcontrol .backtotop { width: 44px; height: 44px; }
}

/* ==========================================================================
   Product card refinements
   ========================================================================== */
/* star rating on listing cards (rendered only for products with approved reviews) */
body li.product-main-container .block-rating { display: block; padding: 8px 18px 0 !important; }
body li.product-main-container .block-rating .rating-div { display: flex; align-items: center; gap: 6px; margin: 0; }
body li.product-main-container .block-rating .raty-icons { display: inline-flex; gap: 1px; line-height: 1; }
body li.product-main-container .block-rating .raty-icons img { width: 14px; height: 14px; }
body li.product-main-container .block-rating .rating-count { font-size: 12px; color: var(--rom-muted); line-height: 1; }

/* space between quantity stepper and add-to-bag */
body li.product-main-container .quantity-toadd-div { margin-bottom: 12px !important; }

/* compare / wishlist as two equal pill buttons */
body li.product-main-container .main-review-div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 10px 0 0;
}
body li.product-main-container .main-review-div > span {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 36px;
    padding: 0 10px !important;
    border: 1px solid var(--rom-line) !important;
    border-radius: 999px;
    background: #fff !important;
    color: var(--rom-muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
    transition: background .2s var(--rom-ease), border-color .2s var(--rom-ease), color .2s var(--rom-ease);
}
body li.product-main-container .main-review-div > span .glyphicon {
    top: 0;
    line-height: 1;
    font-size: 11px;
    color: var(--rom-gold);
    transition: color .2s var(--rom-ease);
}
body li.product-main-container .main-review-div > span a { color: inherit; line-height: 1; }
/* make the whole pill clickable (the onclick lives on the link) */
body li.product-main-container .main-review-div > span a:after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
body li.product-main-container .main-review-div > span:hover {
    border-color: var(--rom-choc) !important;
    background: var(--rom-cream) !important;
    color: var(--rom-choc);
}
body li.product-main-container .main-review-div > span:hover .glyphicon { color: var(--rom-choc); }
/* already in wishlist */
body li.product-main-container.in-wishlist .addto-wishlist { border-color: rgba(179, 69, 47, .35) !important; color: var(--rom-danger); }
body li.product-main-container.in-wishlist .addto-wishlist .glyphicon { color: var(--rom-danger); }
@media (max-width: 767px) {
    body li.product-main-container .main-review-div { grid-template-columns: 1fr; }
}
body li.product-main-container .prd-arrivals-quantity:empty { display: none !important; }
body li.product-main-container .prd-arrivals-quantity { margin: 4px 0 0 !important; padding: 0 18px !important; font-size: 12px; color: var(--rom-gold-2); }

/* quantity stepper: undo legacy floats/padding so it has real height and centered icons */
body .quantity-toadd-div { display: block; float: none; }
body .quantity-toadd-group { float: none !important; width: 100% !important; padding: 0 !important; border-color: var(--rom-line) !important; border-radius: 999px !important; }
body .quantity-toadd-group .btn-quantity,
body .quantity-toadd-group .btn-quantity-minus,
body .quantity-toadd-group .btn-quantity-plus { float: none !important; width: auto !important; text-align: center !important; color: var(--rom-choc) !important; }
body .quantity-toadd-group .btn-quantity .glyphicon { top: 0; line-height: 1; display: block; }
body .quantity-toadd-group input.quantity-toadd { width: auto !important; float: none !important; }

/* ==========================================================================
   Page titles promoted to <h1> (one per page) - same look as the old h2 titles
   ========================================================================== */
body .heading-box h1,
body #nc-middle .heading-box h1 {
    margin: 12px 0 20px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid var(--rom-line);
    background: none;
    font-family: var(--rom-serif);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--rom-choc);
    text-transform: none;
    text-align: left;
    position: relative;
}
body .heading-box h1:after {
    content: '';
    position: absolute;
    left: 0; bottom: -1px;
    width: 56px; height: 2px;
    background: var(--rom-gold);
}
body .heading-box h1 a { color: inherit; }
body .heading-box.category-heading h1 { margin-top: 0; }
body .categories-inner-pages > .heading-box.col-md-12 { float: none; }
body .detail-page .heading-product h1 { border: 0; padding: 0; margin: 0 0 20px; font-size: 34px; }
body .detail-page .heading-product h1:after { display: none; }

/* home: brand H1 styled as the small eyebrow above the section title */
.rom-section-head h1.rom-eyebrow {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    font-family: var(--rom-sans) !important;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--rom-gold-2);
}

/* product card name (now <h2>) and readable product code */
body li.product-main-container .product-del-box h2 { padding: 0; border: 0; }
body li.product-main-container .prd-reference {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--rom-gold-2);
}

@media (max-width: 767px) {
    body .heading-box h1,
    body #nc-middle .heading-box h1 { font-size: 30px; }
}

/* ==========================================================================
   Close buttons: legacy .close used a white PNG offset outside its box,
   hiding the "×" (alerts) and clipping it (compare). Draw a clear X instead.
   ========================================================================== */
body #notification .alert,
body .notification-msg-div .alert { position: relative; padding-right: 64px; }
body #notification .alert .close,
body .notification-msg-div .alert .close,
body .close.compare-close {
    position: absolute;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: transparent none !important;
    font-size: 0 !important;
    line-height: 0;
    text-shadow: none;
    opacity: .85;
    float: none;
    z-index: 2;
    cursor: pointer;
    transition: opacity .2s var(--rom-ease), background-color .2s var(--rom-ease), color .2s var(--rom-ease), border-color .2s var(--rom-ease);
}
body #notification .alert .close,
body .notification-msg-div .alert .close { top: 50%; right: 18px; transform: translateY(-50%); color: inherit; }
body #notification .alert .close:before, body #notification .alert .close:after,
body .notification-msg-div .alert .close:before, body .notification-msg-div .alert .close:after,
body .close.compare-close:before, body .close.compare-close:after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    width: 13px; height: 1.6px;
    margin: -.8px 0 0 -6.5px;
    background: currentColor;
    border-radius: 1px;
}
body #notification .alert .close:before, body .notification-msg-div .alert .close:before, body .close.compare-close:before { transform: rotate(45deg); }
body #notification .alert .close:after, body .notification-msg-div .alert .close:after, body .close.compare-close:after { transform: rotate(-45deg); }
body #notification .alert .close:hover,
body .notification-msg-div .alert .close:hover { opacity: 1; background-color: currentColor !important; }
body #notification .alert-success .close:hover:before, body #notification .alert-success .close:hover:after,
body #notification .alert-danger .close:hover:before, body #notification .alert-danger .close:hover:after,
body .notification-msg-div .alert .close:hover:before, body .notification-msg-div .alert .close:hover:after { background: #fff; }

/* compare: remove button sits inside the product header cell */
body .main-shopping-div thead td,
body table thead td:has(.compare-close),
body td:has(> a > .compare-close) { position: relative; padding-right: 52px !important; }
body .close.compare-close { top: 12px; right: 12px; width: 30px; height: 30px; color: var(--rom-muted); border-color: var(--rom-line); background-color: #fff !important; opacity: 1; }
body .close.compare-close:hover { color: #fff; border-color: var(--rom-danger); background-color: var(--rom-danger) !important; }

/* ==========================================================================
   Bag table: one shared grid for header and rows (legacy floated % widths
   clipped "Remove" and pushed cells down with padding-top)
   ========================================================================== */
body .bag div.table-head,
body .bag div.table-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 2.6fr) minmax(0, 1fr) minmax(150px, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) 96px;
    align-items: center;
    column-gap: 16px;
    float: none;
    width: 100%;
    margin: 0;
    padding: 16px 20px;
}
body .bag div.table-head:before, body .bag div.table-head:after,
body .bag div.table-row:before, body .bag div.table-row:after { display: none; }
body .bag div.table-head {
    min-height: 54px;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 1px solid var(--rom-line);
}
body .bag div.table-head span,
body .bag div.table-body span.table-column {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0;
    line-height: 1.4;
}
body .bag div.table-head span { white-space: nowrap; }
body .bag div.table-row { border-bottom: 1px solid var(--rom-line); background: #fff; }
body .bag div.table-row:last-child { border-bottom: 0; }
body .bag div.table-row.even { background: var(--rom-ivory); }
body .bag .prd-remove { text-align: center; }
body .bag .prd-price, body .bag .prd-total { font-weight: 500; }
body .bag .prd-image img { display: block; width: 100%; max-width: 112px; aspect-ratio: 1 / 1; object-fit: cover; }
body .bag .prd-quantity form,
body .bag .prd-quantity > div { display: flex; align-items: center; gap: 8px; }
@media (max-width: 769px) {
    body .bag div.table-head,
    body .bag div.table-row { grid-template-columns: 64px minmax(0, 1fr) 96px 64px 64px 44px; column-gap: 10px; padding: 12px; }
    body .bag .prd-model { display: none !important; }
    body .bag .prd-image img { max-width: 64px; }
}
@media (max-width: 560px) {
    body .bag div.table-head { display: none; }
    body .bag div.table-row {
        grid-template-columns: 72px minmax(0, 1fr) auto;
        grid-template-areas: "img name remove" "img qty total";
        row-gap: 10px;
    }
    body .bag div.table-row .prd-image { grid-area: img; align-self: start; }
    body .bag div.table-row .prd-name { grid-area: name; }
    body .bag div.table-row .prd-remove { grid-area: remove; }
    body .bag div.table-row .prd-quantity { grid-area: qty; }
    body .bag div.table-row .prd-total { grid-area: total; text-align: right; }
    body .bag div.table-row .prd-price { display: none !important; }
}

/* bag: quantity refresh button keeps its circle; coupon stacks on phones */
body .bag .prd-quantity .btn,
body .bag #quantity_refresh { flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px; padding: 0 !important; border-radius: 50% !important; }
body .bag .prd-quantity input { width: 64px; height: 40px; text-align: center; }
@media (max-width: 767px) {
    body .bag-footer .div-coupon > div,
    body .bag-footer .coupon-input,
    body .bag-footer .coupon-btn { width: 100% !important; float: none !important; padding-left: 0; padding-right: 0; }
    body .bag-footer .coupon-btn { margin-top: 10px; }
    body .bag-footer .coupon-btn .btn { width: 100%; }
    body .shopping-cart-main-div .order-now-div { width: auto !important; }
}

/* bag quantity stepper (replaces the refresh button) */
body .bag .prd-quantity .rom-bag-qty { display: flex; width: 100%; max-width: 132px; height: 40px; }
body .bag .prd-quantity .rom-bag-qty .btn-quantity { flex: 0 0 38px; height: 100%; }
body .bag .prd-quantity .rom-bag-qty input.quantity-toadd { width: auto !important; height: 100%; padding: 0; border: 0 !important; text-align: center; font-weight: 500; }
@media (max-width: 769px) {
    body .bag .prd-quantity .rom-bag-qty { max-width: 112px; height: 36px; }
    body .bag .prd-quantity .rom-bag-qty .btn-quantity { flex-basis: 32px; }
}

/* ==========================================================================
   Out of stock (stock quantity itself is not displayed)
   ========================================================================== */
body .prd-stock-status,
body .detail-page .stock-div .label-danger,
body .stock-main-div .label-danger {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f8e9e5;
    color: var(--rom-danger);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
body .detail-page .stock-main-div { margin: -8px 0 16px; }
body .prd-in-stock { color: var(--rom-success); font-weight: 500; }
body .soldout-div {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    width: auto;
    height: auto;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--rom-danger);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.2;
    opacity: 1;
}
body li.product-main-container .product-image-container { position: relative; }
body li.product-main-container.out-of-stock .product-image-container img { filter: grayscale(.6); opacity: .75; }
body li.product-main-container.out-of-stock .product-quantity-div { padding-top: 6px !important; }

/* no quantity selector when the product cannot be ordered */
body .out-of-stock .quantity-toadd-div,
body .quantity-toadd-div:has(+ .addtocart-div .addtocart-disabled) { display: none !important; }

/* disabled "Out of Stock" button */
body .btn.addtocart-disabled,
body .btn.addtocart-disabled:hover,
body .btn.addtocart-disabled:focus {
    width: 100%;
    background: var(--rom-cream-2) !important;
    border-color: var(--rom-line) !important;
    color: var(--rom-muted) !important;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
}
body .soldout-div { margin: 0 !important; float: none; text-align: left; }

/* ==========================================================================
   Product page: compare / wishlist as pill buttons (same as listing cards)
   ========================================================================== */
body .detail-page .addbtns-div { display: block; margin: 14px 0 0; }
body .detail-page .addbtns-div > .col-md-5 {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100% !important;
    max-width: 360px;
    padding: 0;
    float: none;
}
body .detail-page .addbtns-div .write-a-review,
body .detail-page .addbtns-div .addto-wishlist {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px !important;
    border: 1px solid var(--rom-line) !important;
    border-radius: 999px;
    background: #fff !important;
    color: var(--rom-muted);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background .2s var(--rom-ease), border-color .2s var(--rom-ease), color .2s var(--rom-ease);
}
body .detail-page .addbtns-div .glyphicon { top: 0; line-height: 1; font-size: 12px; color: var(--rom-gold); }
body .detail-page .addbtns-div a { color: inherit; line-height: 1; }
body .detail-page .addbtns-div a:after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
body .detail-page .addbtns-div .write-a-review:hover,
body .detail-page .addbtns-div .addto-wishlist:hover { border-color: var(--rom-choc) !important; background: var(--rom-cream) !important; color: var(--rom-choc); }
body .detail-page .addbtns-div .write-a-review:hover .glyphicon,
body .detail-page .addbtns-div .addto-wishlist:hover .glyphicon { color: var(--rom-choc); }
body .detail-page.in-wishlist .addbtns-div .addto-wishlist { border-color: rgba(179, 69, 47, .35) !important; color: var(--rom-danger); }
body .detail-page.in-wishlist .addbtns-div .addto-wishlist .glyphicon { color: var(--rom-danger); }

/* rating rows: stars and count side by side */
body li.product-main-container .block-rating .rating-div,
body .detail-page .rating-div { display: flex !important; align-items: center; justify-content: flex-start; gap: 8px; margin: 4px 0 10px; text-align: left; }
body li.product-main-container .block-rating .raty-icons,
body .detail-page .rating-div .raty-icons { width: auto !important; flex: 0 0 auto; text-align: left; margin: 0; }
body .detail-page .rating-div .rating-count { font-size: 13px; color: var(--rom-muted); }

/* ==========================================================================
   Pagination (Yii CLinkPager: ul.yiiPager). Legacy "ul.yiiPager a:link" rules
   win on specificity, so links are reset explicitly here.
   ========================================================================== */
body .fliter-bar-div.bottom-div-fliter {
    justify-content: center;
    margin: 32px 0 0;
    padding: 24px 0 0;
    border-bottom: 0;
    border-top: 1px solid var(--rom-line);
}
body .fliter-bar-div.bottom-div-fliter > div { flex-direction: row; justify-content: center; width: 100%; }
body ul.yiiPager {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1;
}
body ul.yiiPager li { display: block; margin: 0; padding: 0; }
body ul.yiiPager li.hidden,
body ul.yiiPager li.first,
body ul.yiiPager li.last { display: none !important; }
body ul.yiiPager li a,
body ul.yiiPager li a:link,
body ul.yiiPager li a:visited {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid var(--rom-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--rom-choc) !important;
    font: 500 14px/1 var(--rom-sans) !important;
    text-decoration: none !important;
    box-shadow: none;
    transition: background .2s var(--rom-ease), border-color .2s var(--rom-ease), color .2s var(--rom-ease);
}
body ul.yiiPager li a:hover,
body ul.yiiPager li a:focus {
    background: var(--rom-cream) !important;
    border-color: var(--rom-choc) !important;
    color: var(--rom-choc) !important;
}
body ul.yiiPager li.active a,
body ul.yiiPager li.selected a,
body ul.yiiPager li.active a:hover,
body ul.yiiPager li.selected a:hover {
    background: var(--rom-choc) !important;
    border-color: var(--rom-choc) !important;
    color: #fff !important;
    cursor: default;
}
/* previous / next: chevrons instead of "<" ">" */
body ul.yiiPager li.previous a,
body ul.yiiPager li.next a { width: 42px; padding: 0 !important; font-size: 0 !important; }
body ul.yiiPager li.previous a:before,
body ul.yiiPager li.next a:before {
    content: '';
    width: 9px;
    height: 9px;
    border-top: 1.6px solid currentColor;
    border-right: 1.6px solid currentColor;
}
body ul.yiiPager li.previous a:before { transform: rotate(-135deg); margin-left: 4px; }
body ul.yiiPager li.next a:before { transform: rotate(45deg); margin-right: 4px; }

/* ==========================================================================
   Product cards: out-of-stock cards keep the quantity row's space so prices
   line up with in-stock cards (the stepper is hidden, not removed)
   ========================================================================== */
body li.product-main-container.out-of-stock .quantity-toadd-div { display: block !important; visibility: hidden; }
/* a script adds Bootstrap "btn" classes to the pager items: neutralize them, style only the links */
body ul.yiiPager li.btn,
body ul.yiiPager li.btn.active,
body ul.yiiPager li.btn:hover {
    min-height: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Product options (radio / checkbox / select): compact box, clickable chips
   ========================================================================== */
body .detail-page .picer-div-window {
    margin: 0 0 18px;
    padding: 14px 18px !important;
    background: var(--rom-cream);
    border-radius: var(--rom-radius);
    float: none;
}
body .detail-page .picer-div-window .product-items {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0;
}
body .detail-page .picer-div-window .product-items + .product-items { margin-top: 12px !important; }
body .detail-page .picer-div-window .option { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
body .detail-page .picer-div-window .attribute_label {
    flex: 0 0 100%;
    margin: 0 0 2px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--rom-choc);
}
body .detail-page .picer-div-window .clearfix,
body .detail-page .picer-div-window br { display: none; }
body .detail-page .rom-option-choice {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 8px 16px !important;
    border: 1px solid var(--rom-line);
    border-radius: 999px;
    background: #fff;
    font-size: 14px;
    font-weight: 400 !important;
    color: var(--rom-ink);
    line-height: 1.2;
    cursor: pointer;
    transition: border-color .2s var(--rom-ease), background .2s var(--rom-ease);
}
body .detail-page .rom-option-choice input { margin: 0 !important; }
body .detail-page .rom-option-choice:hover { border-color: var(--rom-gold); }
body .detail-page .rom-option-choice:has(input:checked) { border-color: var(--rom-choc); background: var(--rom-ivory); box-shadow: 0 0 0 1px var(--rom-choc); }
body .detail-page .picer-div-window select.form-control { max-width: 320px; height: 42px; }
body .detail-page .option-error { flex: 0 0 100%; color: var(--rom-danger); font-size: 13px; margin-top: 2px; }
/* the option wrappers are floated by legacy CSS: keep them inside the box */
body .detail-page .picer-div-window .product-items,
body .detail-page .picer-div-window .option { float: none !important; width: auto !important; }
body .detail-page .picer-div-window:after { content: ''; display: table; clear: both; }
body .detail-page .picer-div-window .option { width: 100% !important; }
/* floats from the product detail lines above must not reach into the options box */
body .detail-page .picer-div-window { clear: both; }

/* ==========================================================================
   Account area: side menu + information panels (TbBox) in the brand palette
   ========================================================================== */
/* side menu */
body #user-menu .rom-account-menu {
    padding: 10px;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    background: #fff;
    box-shadow: none;
}
body #user-menu .rom-account-menu .heading-box,
body #user-menu .rom-account-menu .heading-box h2 {
    margin: 0;
    padding: 0;
    border: 0;
    background: none !important;
    box-shadow: none;
}
body #user-menu .rom-account-menu .heading-box h2 {
    padding: 10px 12px 12px !important;
    font-family: var(--rom-serif) !important;
    font-size: 24px !important;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none !important;
    text-align: left !important;
    color: var(--rom-choc) !important;
}
body #user-menu .rom-account-menu .heading-box h2:after { display: none; }
body #user-menu .rom-account-menu .module-content { padding: 0; border: 0; background: none; }
body #user-menu ul.accordion-list { margin: 0; padding: 0; list-style: none; background: none !important; border: 0; }
body #user-menu ul.accordion-list li {
    margin: 0 0 2px;
    padding: 0;
    border: 0 !important;
    background: none !important;
}
body #user-menu ul.accordion-list li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 10px;
    color: var(--rom-ink) !important;
    font-size: 14.5px;
    font-weight: 400;
    text-decoration: none;
    transition: background .2s var(--rom-ease), color .2s var(--rom-ease);
}
body #user-menu ul.accordion-list li a:before { display: none !important; content: none !important; }
body #user-menu ul.accordion-list li a svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--rom-gold-2);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body #user-menu ul.accordion-list li a:hover { background: var(--rom-cream) !important; color: var(--rom-choc) !important; }
body #user-menu ul.accordion-list li.active a { background: var(--rom-choc) !important; color: var(--rom-cream) !important; font-weight: 500; }
body #user-menu ul.accordion-list li.active a svg { stroke: var(--rom-gold); }
body #user-menu ul.accordion-list li.is-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rom-line) !important; }
body #user-menu ul.accordion-list li.is-logout a { color: var(--rom-muted) !important; }
body #user-menu ul.accordion-list li.is-logout a:hover { background: #f8e9e5 !important; color: var(--rom-danger) !important; }
body #user-menu ul.accordion-list li.is-logout a:hover svg { stroke: var(--rom-danger); }

/* information panels (TbBox: contact information, address, order information, shipping...) */
body .bootstrap-widget {
    margin: 0 0 24px;
    border: 1px solid var(--rom-line);
    border-radius: var(--rom-radius);
    background: #fff;
    overflow: hidden;
}
body .bootstrap-widget-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: auto;
    min-height: 52px;
    padding: 0 12px 0 20px;
    border: 0 !important;
    border-bottom: 1px solid var(--rom-line) !important;
    border-radius: 0 !important;
    background: var(--rom-cream) !important;
    filter: none;
}
body .bootstrap-widget-header h3 {
    float: none;
    margin: 0;
    padding: 0;
    line-height: 1.3;
    font-family: var(--rom-sans) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--rom-choc) !important;
    text-shadow: none;
}
body .bootstrap-widget-header .bootstrap-toolbar { float: none; margin: 0; }
body .bootstrap-widget-header .bootstrap-toolbar .btn,
body .bootstrap-widget-header .bootstrap-toolbar > .btn-group > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-height: 34px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--rom-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--rom-choc) !important;
    font-size: 12px;
    letter-spacing: 0;
}
body .bootstrap-widget-header .bootstrap-toolbar .btn:hover { background: var(--rom-choc) !important; border-color: var(--rom-choc) !important; color: #fff !important; }
body .bootstrap-widget-content { padding: 6px 20px 14px; border: 0 !important; background: #fff; }
body .bootstrap-widget-content .table {
    margin: 0;
    border: 0 !important;
    border-radius: 0;
    background: none;
}
body .bootstrap-widget-content .table > tbody > tr > td,
body .bootstrap-widget-content .table td {
    padding: 12px 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--rom-line) !important;
    background: none !important;
    font-size: 14.5px;
}
body .bootstrap-widget-content .table tr:last-child td { border-bottom: 0 !important; }
body .bootstrap-widget-content .table td:first-child { width: 40%; color: var(--rom-muted); }
body .bootstrap-widget-content .table td:first-child strong { font-weight: 500; color: var(--rom-muted); }
body .bootstrap-widget-content .table td + td { color: var(--rom-ink); }
body .bootstrap-widget-content > p,
body .bootstrap-widget-content > div { padding-top: 10px; }

/* order details: totals and order lines */
body .main-order-detailes .total-color-dis {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: var(--rom-sans) !important;
    font-size: 15px !important;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--rom-choc) !important;
}
body .main-order-detailes .total-color-dis:after { display: none; }
body .main-order-detailes .design-orde { font-weight: 500; color: var(--rom-muted); }
body .label { border-radius: 999px; padding: 4px 10px; font-weight: 600; letter-spacing: .06em; }
body .label-success { background: var(--rom-success); }
body .label-info, body .label-primary { background: var(--rom-choc); }
body .label-warning { background: var(--rom-gold); }
body .label-danger { background: var(--rom-danger); }
/* legacy "#nc-div-middle #user-menu" rules (slate background, white centered title) */
body #nc-div-middle #user-menu { background: none !important; }
body #nc-div-middle #user-menu h2 { border: 0 !important; color: var(--rom-choc) !important; text-align: left !important; }
body #nc-div-middle #user-menu .module-content { border: 0 !important; font-size: 14.5px; }
/* icon-font buttons (e.g. TbBox edit pencil): keep the Glyphicons font over the theme button font */
body .btn.glyphicon,
body .bootstrap-toolbar .btn.glyphicon { font-family: 'Glyphicons Halflings' !important; font-size: 13px !important; line-height: 1 !important; top: 0; }
body .bootstrap-widget-header h3 { margin: 0 !important; padding: 0 !important; line-height: 52px !important; }

/* order details: "Order History" status table inside its panel */
body .bootstrap-widget-content > h2:empty { display: none; }
body .bootstrap-widget-content table.list {
    width: 100% !important;
    margin: 4px 0 0 !important;
    border: 0 !important;
    table-layout: fixed;
    background: none;
}
body .bootstrap-widget-content table.list thead tr,
body .bootstrap-widget-content table.list thead td {
    background: none !important;
}
body .bootstrap-widget-content table.list thead td {
    padding: 12px 12px 10px 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--rom-line) !important;
    font-size: 11.5px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
body .bootstrap-widget-content table.list thead td strong { font-weight: 600; color: var(--rom-muted) !important; }
body .bootstrap-widget-content table.list td { width: auto !important; padding: 14px 12px 14px 0 !important; color: var(--rom-ink) !important; }
body .bootstrap-widget-content table.list td:nth-child(1) { width: 32% !important; }
body .bootstrap-widget-content table.list td:nth-child(2) { width: 24% !important; }
/* status as a small pill */
body .bootstrap-widget-content table.list tbody td:nth-child(2) { font-weight: 500; }
body .bootstrap-widget-content table.list tbody td:nth-child(2):before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--rom-gold);
    vertical-align: 1px;
}
body .bootstrap-widget-content table.list tbody td:nth-child(3) { color: var(--rom-muted) !important; }
body .bootstrap-widget-content table.list thead { background: none !important; }

/* "More" dropdown (categories not marked "Top" in the admin): categories with their sub-categories */
body .rom-nav .main-menu li ul.submenu-div li ul { list-style: none; margin: 0 0 4px; padding: 0 0 0 14px; }
body .rom-nav .main-menu li ul.submenu-div li ul:empty { display: none; }
body .rom-nav .main-menu li ul.submenu-div li ul li a {
    padding: 6px 14px !important;
    font-size: 14px !important;
    color: var(--rom-muted) !important;
}
body .rom-nav .main-menu li ul.submenu-div li ul li a:hover { color: var(--rom-choc) !important; }
body .rom-nav ul.navbar-nav > li > a:not([href]) { cursor: pointer; }

/* ==========================================================================
   Top strip: delivery & payment promise + click-to-call / WhatsApp
   ========================================================================== */
.rom-topbar-delivery { display: none; }
.rom-topbar-promise { display: flex; align-items: center; gap: 8px; min-width: 0; margin-right: auto; color: var(--rom-cream); }
.rom-topbar-promise svg,
.rom-topbar-contact svg { flex: 0 0 auto; width: 16px; height: 16px; fill: none; stroke: var(--rom-gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rom-topbar-promise span { white-space: nowrap; }
.rom-topbar-promise .rom-promise-sep { color: var(--rom-gold); }
.rom-topbar-contact { display: flex; align-items: center; gap: 14px; }
.rom-topbar-contact a { display: inline-flex; align-items: center; gap: 7px; color: var(--rom-cream); white-space: nowrap; }
.rom-topbar-contact a:hover { color: var(--rom-gold); }
.rom-topbar-contact .rom-whatsapp svg { fill: var(--rom-gold); stroke: none; }
.rom-topbar-contact + .rom-topbar-right { padding-left: 20px; border-left: 1px solid rgba(247, 239, 228, .2); }

@media (max-width: 1199px) {
    .rom-topbar-contact .rom-whatsapp span { display: none; }
}
@media (max-width: 991px) {
    .rom-topbar .rom-container { justify-content: space-between; }
    .rom-topbar-contact + .rom-topbar-right { display: none; }
}
@media (max-width: 767px) {
    .rom-topbar { font-size: 10.5px; letter-spacing: .04em; }
    .rom-topbar .rom-container { gap: 10px; }
    .rom-topbar-promise .rom-promise-sep,
    .rom-topbar-promise .rom-promise-payment,
    .rom-topbar-contact .rom-call span { display: none; }
    .rom-topbar-contact { gap: 6px; }
    .rom-topbar-contact a {
        width: 28px;
        height: 28px;
        justify-content: center;
        border: 1px solid rgba(247, 239, 228, .25);
        border-radius: 50%;
    }
    .rom-topbar-contact svg { width: 14px; height: 14px; }
}
