/* Complete storefront design based on the supplied copper-and-ivory reference. */
body.ruvi-storefront{font-family:'DM Sans',sans-serif;color:var(--ruvi-ink);background:#fff;font-size:16px;--base-h:160;--base-s:23.81%;--base-l:24.71%;--heading-font:var(--ruvi-serif)}
.ruvi-storefront h1,.ruvi-storefront h2,.ruvi-storefront h3,.ruvi-storefront h4,.ruvi-storefront h5{font-family:var(--ruvi-serif);font-weight:500;color:var(--ruvi-ink)}
.ruvi-storefront .announcement,.ruvi-storefront .ruvi-shell .announcement{background:#f4eee8;color:var(--ruvi-muted);min-height:30px;padding:7px 5%;justify-content:space-between;gap:20px;font-size:14px}.ruvi-storefront .announcement span{font-size:14px}.ruvi-top-links{display:flex;gap:18px;align-items:center}.ruvi-top-links a{color:inherit;font-size:14px}
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{height:86px;min-height:86px;padding:14px 5%;gap:16px;background:#fff;border-bottom:1px solid var(--ruvi-line)}.ruvi-storefront .wordmark,.ruvi-storefront .ruvi-shell .wordmark{font-size:36px;letter-spacing:5px;line-height:1;color:var(--ruvi-ink)}.ruvi-storefront .wordmark span{font-size:7px;color:var(--ruvi-muted)}.ruvi-storefront header nav{gap:22px;margin-left:20px;font-size:14px}.ruvi-storefront header nav a{min-height:44px;display:flex;align-items:center;padding:10px 0}.ruvi-storefront .site-search{height:42px;width:24%;min-width:160px;max-width:300px;background:#fff;border:1px solid var(--ruvi-line);border-radius:2px}.ruvi-storefront .site-search input{font-size:14px;padding:0 12px}.ruvi-storefront .site-search button{min-width:42px}.ruvi-storefront .header-icon,.ruvi-storefront .bag-button{min-width:36px;min-height:44px;display:grid;place-items:center}.ruvi-storefront .header-icon svg,.ruvi-storefront .bag-button svg{width:21px;height:23px}
.ruvi-storefront .campaign{min-height:480px}.ruvi-storefront .hero-copy{min-height:480px;padding:64px 0 45px 7%}.ruvi-storefront .hero h1{font-size:clamp(46px,5vw,72px);line-height:1.03}.ruvi-storefront .hero-copy p{font-size:16px;line-height:1.8}.ruvi-storefront .eyebrow{color:var(--ruvi-gold);font-size:14px;letter-spacing:1.6px}.ruvi-storefront .hero-trust small{font-size:14px}.ruvi-storefront .hero-aside{font-size:14px;letter-spacing:2.5px}.ruvi-storefront .section{padding:46px 5%}.ruvi-storefront .section-head h2{font-size:35px}.ruvi-storefront .section-head .eyebrow{color:var(--ruvi-muted);font-size:14px;letter-spacing:.3px}.ruvi-storefront .text-link{color:var(--ruvi-gold);font-size:14px}.ruvi-storefront .primary,.ruvi-storefront .secondary{min-height:44px;padding:12px 22px;font-size:14px;border-radius:3px;gap:18px}.ruvi-storefront .primary{background:var(--ruvi-gold);border-color:var(--ruvi-gold);color:#fff}.ruvi-storefront .primary:hover{background:var(--ruvi-gold-hover)}.ruvi-storefront .secondary{color:var(--ruvi-gold);border-color:var(--ruvi-gold);background:#fff}.ruvi-storefront .card{background:#fff;border:1px solid var(--ruvi-line);border-radius:3px;overflow:hidden;box-shadow:none}.ruvi-storefront .card-info{padding:14px}.ruvi-storefront .card h3{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5;font-weight:400}.ruvi-storefront .card-category{font-size:14px;color:var(--ruvi-muted)}.ruvi-storefront .card-bottom{font-size:16px;color:var(--ruvi-ink)}.ruvi-storefront .card-add{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;color:var(--ruvi-gold);background:#fff;border:1px solid var(--ruvi-line);border-radius:2px}.ruvi-storefront .card-add:hover{background:var(--ruvi-surface);border-color:var(--ruvi-gold)}.ruvi-storefront .product-image{background:var(--ruvi-surface)}.ruvi-storefront .category-card{border-radius:3px}.ruvi-storefront .category-label h3{font-size:24px}.ruvi-storefront .purpose,.ruvi-storefront .circle-banner{background:var(--ruvi-ivory)}.ruvi-storefront .quote-grid article{background:var(--ruvi-ivory);border:1px solid var(--ruvi-line)}
.ruvi-storefront .shop-hero{height:240px;background:var(--ruvi-ivory)}.ruvi-storefront .shop-hero h1{font-size:46px}.ruvi-storefront .shop-hero p{font-size:16px}.ruvi-storefront .shop-layout{padding-top:32px;padding-bottom:56px;gap:28px}.ruvi-storefront .shop-sidebar{background:var(--ruvi-ivory);border:1px solid var(--ruvi-line);border-radius:3px;padding:22px}.ruvi-storefront .shop-sidebar h3{font-size:25px}.ruvi-storefront .shop-sidebar a{font-size:16px;border-bottom:1px solid var(--ruvi-line);padding:12px 0}.ruvi-storefront .shop-toolbar{font-size:14px;border-bottom:1px solid var(--ruvi-line);padding-bottom:18px}.ruvi-storefront .shop-toolbar select{border-color:var(--ruvi-line);min-height:44px;font-size:14px;border-radius:2px}.ruvi-storefront .shop-product-grid{gap:20px}
.ruvi-storefront .ruvi-newsletter-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 5%;background:var(--ruvi-ivory);border-top:1px solid var(--ruvi-line);border-bottom:1px solid var(--ruvi-line)}.ruvi-newsletter-strip>div{display:flex;align-items:center;gap:16px}.ruvi-newsletter-symbol{font-size:36px;color:var(--ruvi-gold)}.ruvi-storefront .ruvi-newsletter-strip h2{font-size:25px;margin:0 0 5px}.ruvi-newsletter-strip p{font-size:14px;color:var(--ruvi-muted);margin:0}.ruvi-storefront footer,.ruvi-storefront .ruvi-shell footer{background:#fff;color:var(--ruvi-ink);padding:36px 5% 20px;border:0}.ruvi-storefront .footer-main{grid-template-columns:1.6fr 1fr 1.2fr 1.1fr 1.1fr;gap:28px}.ruvi-storefront .footer-logo{color:var(--ruvi-ink);font-size:36px}.ruvi-storefront .footer-logo span{color:var(--ruvi-muted)}.ruvi-storefront .footer-main h3{font-family:'DM Sans',sans-serif;color:var(--ruvi-ink);font-size:14px;font-weight:500;letter-spacing:.4px}.ruvi-storefront .footer-main p,.ruvi-storefront .footer-main a:not(.footer-logo){color:var(--ruvi-muted);font-size:14px;line-height:1.8}.ruvi-storefront .footer-main a:hover{color:var(--ruvi-gold)}.ruvi-storefront .footer-mark{color:var(--ruvi-gold)}.ruvi-storefront .footer-bottom{border-top:1px solid var(--ruvi-line);color:var(--ruvi-muted);font-size:14px;line-height:1.8}.ruvi-storefront .footer-brand{padding-right:20px}
/* Shared forms, checkout, shopping bag, saved pieces and account screens. */
.ruvi-storefront main>.container,.ruvi-storefront main>.py-60>.container{max-width:1280px}.ruvi-storefront main .py-60,.ruvi-storefront .user-profile-section{padding-top:40px;padding-bottom:56px}.ruvi-storefront .btn{border-radius:3px;min-height:44px;font-size:16px;padding:11px 20px;box-shadow:none}.ruvi-storefront .btn--base,.ruvi-storefront .btn-primary{background:var(--ruvi-gold)!important;border-color:var(--ruvi-gold)!important;color:#fff!important}.ruvi-storefront .btn--base:hover,.ruvi-storefront .btn-primary:hover{background:var(--ruvi-gold-hover)!important}.ruvi-storefront .btn-outline--light,.ruvi-storefront .btn-outline--base{border:1px solid var(--ruvi-gold)!important;color:var(--ruvi-gold)!important;background:#fff!important}.ruvi-storefront .btn:disabled,.ruvi-storefront .btn.disabled{opacity:.5}.ruvi-storefront .form--control,.ruvi-storefront .form-control,.ruvi-storefront .form-select,.ruvi-storefront select.form--control{border:1px solid var(--ruvi-line);border-radius:3px;min-height:46px;background-color:#fff;color:var(--ruvi-ink);font-size:16px;box-shadow:none}.ruvi-storefront textarea.form--control{min-height:130px}.ruvi-storefront .form--control:focus,.ruvi-storefront .form-control:focus,.ruvi-storefront .form-select:focus{border-color:var(--ruvi-gold);box-shadow:0 0 0 3px #2c4b4515}.ruvi-storefront .form--label,.ruvi-storefront .form-label{font-size:14px;font-weight:500;color:var(--ruvi-ink);margin-bottom:9px}.ruvi-storefront .form-check-input:checked{background-color:var(--ruvi-gold);border-color:var(--ruvi-gold)}.ruvi-storefront .form-group{margin-bottom:20px}.ruvi-storefront .modal-content{border:1px solid var(--ruvi-line);border-radius:5px;background:#fff;color:var(--ruvi-ink)}.ruvi-storefront .modal-header,.ruvi-storefront .modal-footer{border-color:var(--ruvi-line)}.ruvi-storefront .modal-title{font-family:var(--ruvi-serif);font-size:28px}.ruvi-storefront .cart-container,.ruvi-storefront .cart-body,.ruvi-storefront .cart-footer{border-color:var(--ruvi-line);border-radius:3px}.ruvi-storefront .cart-container{background:#fff}.ruvi-storefront .cart-step-box{border:1px solid var(--ruvi-line);background:var(--ruvi-ivory);box-shadow:none;border-radius:3px;padding:16px 10px}.ruvi-storefront .cart-step-box.active{border-color:var(--ruvi-gold);background:var(--ruvi-surface)}.ruvi-storefront .cart-step-icon svg{width:28px;height:28px}.ruvi-storefront .cart-step-icon svg [fill]:not([fill="none"]){fill:var(--ruvi-gold)}.ruvi-storefront .cart-step-box h6{font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ruvi-ink)}.ruvi-storefront .empty-cart__page{background:var(--ruvi-ivory);border:1px solid var(--ruvi-line);padding:48px 24px;text-align:center;border-radius:4px}.ruvi-storefront .empty-cart__page h6{font-family:var(--ruvi-serif);font-size:31px;font-weight:500}.ruvi-storefront .empty-cart__page img{max-height:120px;object-fit:contain}.ruvi-storefront table{color:var(--ruvi-ink)}.ruvi-storefront .table thead,.ruvi-storefront .table--responsive thead{background:var(--ruvi-ivory);color:var(--ruvi-ink)}.ruvi-storefront .table th,.ruvi-storefront .table td{border-color:var(--ruvi-line);vertical-align:middle}.ruvi-storefront .custom--card,.ruvi-storefront .card.custom--card,.ruvi-storefront .dashboard-content{border:1px solid var(--ruvi-line);background:#fff;border-radius:4px;box-shadow:none}.ruvi-storefront .dashboard-menu{background:var(--ruvi-ivory);border:1px solid var(--ruvi-line);border-radius:4px}.ruvi-storefront .dashboard-menu a{color:var(--ruvi-muted);font-size:16px;min-height:44px}.ruvi-storefront .dashboard-menu a.active,.ruvi-storefront .dashboard-menu a:hover{background:var(--ruvi-surface);color:var(--ruvi-gold)}.ruvi-storefront .dashboard-wrapper{gap:24px}.ruvi-storefront .dashboard-content{padding:28px}.ruvi-storefront .auth-section{background:var(--ruvi-ivory)!important;background-image:none!important;padding:54px 0}.ruvi-storefront .auth-form{background:#fff;border:1px solid var(--ruvi-line);padding:34px;border-radius:4px;box-shadow:none}.ruvi-auth-wordmark{display:block;font-family:var(--ruvi-serif);font-size:42px;letter-spacing:5px;color:var(--ruvi-ink)}.ruvi-auth-wordmark small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:3px;margin:7px 0 20px}.ruvi-storefront .auth-form a{color:var(--ruvi-gold)}.ruvi-storefront .breadcrumb a{color:var(--ruvi-muted)}.ruvi-storefront .pagination .page-item.active .page-link{background:var(--ruvi-gold);border-color:var(--ruvi-gold)}.ruvi-storefront .pagination .page-link{color:var(--ruvi-gold);border-color:var(--ruvi-line);min-height:44px}.ruvi-storefront .faq-item,.ruvi-storefront .accordion-item{border-color:var(--ruvi-line);background:#fff}.ruvi-storefront .accordion-button{color:var(--ruvi-ink);background:var(--ruvi-ivory);box-shadow:none}.ruvi-storefront .accordion-button:not(.collapsed){color:var(--ruvi-gold);background:var(--ruvi-surface)}
@media(max-width:1100px){.ruvi-storefront header nav{gap:12px;margin-left:8px}.ruvi-storefront header{gap:10px}.ruvi-storefront .site-search{min-width:140px}.ruvi-storefront .footer-main{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:800px){.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{height:auto;min-height:80px;padding:12px 4%;gap:8px;position:sticky;top:0;z-index:20;flex-wrap:wrap}.ruvi-storefront .wordmark,.ruvi-storefront .ruvi-shell .wordmark{font-size:30px;margin-right:auto}.ruvi-storefront .site-search{order:5;width:100%;max-width:none;min-width:0;margin-top:8px}.ruvi-storefront .site-search input{font-size:16px}.ruvi-storefront header nav{display:none;margin:0;position:absolute;top:100%;left:0;right:0;background:#fff;padding:16px 4%;border-bottom:1px solid var(--ruvi-line);box-shadow:0 8px 18px #28251f0a}.ruvi-storefront header nav.open{display:flex}.ruvi-storefront header nav a{font-size:16px}.ruvi-storefront .menu-button{display:grid;place-items:center;min-height:44px;min-width:36px}.ruvi-storefront .announcement{justify-content:center}.ruvi-storefront .announcement>span:not(:first-child){display:none}.ruvi-storefront .campaign,.ruvi-storefront .hero-copy{min-height:430px}.ruvi-storefront .hero-copy{padding:44px 5%;width:70%}.ruvi-storefront .hero h1{font-size:48px}.ruvi-storefront .section{padding:32px 4%}.ruvi-storefront .section-head h2{font-size:31px}.ruvi-storefront .shop-product-grid{gap:14px}.ruvi-storefront .footer-main{grid-template-columns:1fr 1fr;gap:24px}.ruvi-storefront .footer-brand{grid-column:1/-1}.ruvi-storefront .footer-main a:not(.footer-logo){min-height:32px;font-size:14px}.ruvi-storefront .ruvi-newsletter-strip{padding:22px 4%;flex-wrap:wrap}.ruvi-storefront .dashboard-content{padding:20px}.ruvi-storefront .auth-form{padding:24px}.ruvi-storefront .auth-section{padding:32px 0}.ruvi-storefront .form--control,.ruvi-storefront .form-control,.ruvi-storefront .form-select{font-size:16px}.ruvi-storefront .cart-step-box{padding:10px 4px}.ruvi-storefront .cart-step-box h6{font-size:14px}.ruvi-storefront .cart-step-icon svg{width:22px;height:22px}.ruvi-storefront .shop-layout{padding-top:24px}}
@media(max-width:480px){.ruvi-storefront .hero-copy{width:100%;padding:38px 6%}.ruvi-storefront .campaign:after{background:linear-gradient(90deg,#f7f0e6ed,#f6eee3c9 65%,#f3ecdf66)}.ruvi-storefront .hero h1{font-size:43px;max-width:310px}.ruvi-storefront .hero-trust{flex-wrap:wrap;gap:14px}.ruvi-storefront .hero-copy p{max-width:280px}.ruvi-storefront .hero-aside{display:none}.ruvi-storefront .section-head{flex-wrap:wrap;gap:12px}.ruvi-storefront .card h3{font-size:16px}.ruvi-storefront .card-info{padding:12px}.ruvi-storefront .cart-step-box{min-width:0}.ruvi-storefront .cart-step-icon{margin-bottom:4px!important}.ruvi-storefront .footer-bottom{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){.ruvi-storefront *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.ruvi-page-heading{padding-top:28px;margin-bottom:28px;text-align:center}.ruvi-page-heading h1{font-size:43px;margin:12px 0}.ruvi-page-heading p{font-size:16px;color:var(--ruvi-muted);line-height:1.8}.ruvi-empty-icon{width:80px;height:80px;color:var(--ruvi-gold)}.ruvi-auth-heading{text-align:center;font-size:34px;margin:0 0 12px}.ruvi-auth-subtitle{text-align:center;font-size:16px;color:var(--ruvi-muted);margin-bottom:26px}.ruvi-storefront .cart-step-icon svg [fill]:not([fill="none"]){fill:none}.ruvi-storefront .cart-step-icon svg{color:var(--ruvi-gold)}.ruvi-about-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ruvi-ivory);align-items:center}.ruvi-about-hero>div{padding:64px 12%}.ruvi-about-hero h1{font-size:68px;line-height:1.04;margin:20px 0}.ruvi-about-hero p{color:var(--ruvi-muted);font-size:16px;line-height:1.9;margin-bottom:28px}.ruvi-about-hero>img{width:100%;height:520px;object-fit:cover;object-position:70% center}.ruvi-about-story{max-width:650px;text-align:center;padding:64px 24px}.ruvi-about-story h2{font-size:48px;line-height:1.1;margin:20px 0}.ruvi-about-story p{line-height:1.9;color:var(--ruvi-muted);font-size:16px}.ruvi-about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px}.ruvi-about-values article{padding:32px;background:var(--ruvi-ivory);border:1px solid var(--ruvi-line)}.ruvi-about-values h3{font-size:30px}.ruvi-about-values p{font-size:16px;line-height:1.8;color:var(--ruvi-muted)}.ruvi-about-values a{color:var(--ruvi-gold);font-size:14px}
@media(max-width:767px){.ruvi-page-heading h1{font-size:35px}.ruvi-about-hero{grid-template-columns:1fr}.ruvi-about-hero>div{padding:40px 6%}.ruvi-about-hero h1{font-size:49px}.ruvi-about-hero>img{height:320px}.ruvi-about-values{grid-template-columns:1fr}.ruvi-about-story{padding:40px 24px}.ruvi-about-story h2{font-size:38px}}
.ruvi-newsletter-form{display:flex;gap:8px;flex-wrap:wrap;max-width:420px;width:100%}.ruvi-newsletter-form input{flex:1;min-width:160px;min-height:44px;border:1px solid var(--ruvi-line);background:#fff;border-radius:3px;padding:10px 14px;font-size:14px;color:var(--ruvi-ink)}.ruvi-newsletter-form .ruvi-newsletter-message{flex-basis:100%;font-size:14px;color:var(--ruvi-muted)}
@media(max-width:800px){.ruvi-newsletter-form input{font-size:16px}}

/* Readable storefront typography across desktop and mobile. */
body.ruvi-storefront{font-size:16px;line-height:1.65}
.ruvi-storefront header nav{font-size:15px;gap:18px;margin-left:12px}
.ruvi-storefront .site-search input{font-size:15px}
.ruvi-storefront footer p,.ruvi-storefront footer a,.ruvi-storefront footer li{font-size:14px;line-height:1.8}
.ruvi-storefront input,.ruvi-storefront select,.ruvi-storefront textarea{font-size:16px}
@media(min-width:801px) and (max-width:1200px){.ruvi-storefront header nav{gap:12px;margin-left:0;font-size:14px}.ruvi-storefront .site-search{min-width:135px;width:19%}.ruvi-storefront header{gap:12px}}

.ruvi-storefront .site-search{position:relative;overflow:visible}
.ruvi-search-results[hidden]{display:none!important}
.ruvi-search-results{position:absolute;top:calc(100% + 8px);right:0;width:min(390px,90vw);max-height:65vh;overflow-y:auto;background:#fff;border:1px solid #dce4df;border-radius:6px;box-shadow:0 12px 35px #163b2526;z-index:1000;padding:12px;text-align:left}
.ruvi-search-status{font-size:14px;line-height:1.5;margin:0 0 8px;color:#777}
.ruvi-search-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-bottom:1px solid #eef0ec}
.ruvi-search-item:hover,.ruvi-search-item:focus{background:#f3f6f2}
.ruvi-search-item img{width:52px;height:52px;object-fit:cover;border-radius:4px;flex-shrink:0}
.ruvi-search-item strong{display:block;font-size:15px;line-height:1.4;font-weight:500;color:#304E44}
.ruvi-search-item small{display:block;font-size:14px;line-height:1.5;color:#555;margin-top:3px}
.ruvi-search-all{display:block;padding:12px 6px 3px;color:#304E44;font-size:14px}
@media(max-width:800px){.ruvi-search-results{width:100%;left:0;right:0}}

/* Keep search focus on the complete field and anchor its results below it. */
.ruvi-storefront header .site-search{border-radius:6px;min-width:0}
.ruvi-storefront header .site-search:focus-within{border-color:#304E44;box-shadow:0 0 0 2px #2c4b451a}
.ruvi-storefront header .site-search input{min-width:0;width:100%;outline:none!important;box-shadow:none!important;border:0!important;border-radius:6px 0 0 6px;background:transparent}
.ruvi-storefront header .site-search button{flex-shrink:0;border-radius:0 6px 6px 0}
.ruvi-storefront header .ruvi-search-results{top:calc(100% + 6px);width:max(100%,340px);max-width:calc(100vw - 32px);padding:8px 12px;border-radius:8px}
.ruvi-storefront header .ruvi-search-status{font-size:13px;margin:4px 0 6px}
.ruvi-storefront header .ruvi-search-item{padding:10px 0;gap:12px}
.ruvi-storefront header .ruvi-search-item>span{min-width:0}
.ruvi-storefront header .ruvi-search-item strong{font-size:15px;overflow-wrap:anywhere}
.ruvi-storefront header .ruvi-search-item small{font-size:14px}
.ruvi-storefront header .ruvi-search-item img{background:#f6f3ed;object-fit:contain}
.ruvi-storefront header .ruvi-search-all{font-size:14px;padding:10px 0 4px}
@media(max-width:800px){.ruvi-storefront header .ruvi-search-results{width:100%;max-width:100%;left:0;right:0}}

/* Keep storefront navigation and search visible while scrolling. */
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:0 3px 12px #213d2f08}

.ruvi-storefront .ruvi-shell:has(>header){display:contents}

@media(max-width:767px){.ruvi-storefront header .wordmark{min-width:84px}.ruvi-storefront header .wordmark .ruvi-brand-logo{width:84px;height:auto}}

/* Shared retail card used by homepage, collection and related products. */
.ruvi-storefront .ruvi-commerce-card{display:flex;flex-direction:column;height:100%;min-width:0;background:#fff;border:1px solid #dfe6e1;border-radius:8px;overflow:hidden;box-shadow:none}
.ruvi-storefront .ruvi-commerce-image{display:block;width:100%;aspect-ratio:1;background:#F6F7F4;padding:8px;overflow:hidden}
.ruvi-storefront .ruvi-commerce-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.ruvi-storefront .ruvi-commerce-card:hover .ruvi-commerce-image img{transform:scale(1.03)}
.ruvi-storefront .ruvi-commerce-content{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1;min-width:0}
.ruvi-storefront .ruvi-commerce-card .ruvi-commerce-title{font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.4;font-weight:500;margin:0;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ruvi-storefront .ruvi-commerce-title a{color:#292c27}
.ruvi-storefront .ruvi-commerce-category{font-size:14px;line-height:1.4;margin:0;color:#77796e;min-height:1.4em}
.ruvi-storefront .ruvi-commerce-price{font-family:'DM Sans',Arial,sans-serif;font-size:16px;font-weight:600;color:#252924;line-height:1.5;min-height:0;overflow-wrap:anywhere}
.ruvi-storefront .ruvi-commerce-rating{display:flex;align-items:center;gap:6px;font-size:13px;min-height:20px;line-height:1.5;margin-top:0;color:#304E44}
.ruvi-storefront .ruvi-commerce-rating i{font-size:13px}
.ruvi-storefront .ruvi-commerce-detail{font-size:13px;color:#77796e}
.ruvi-storefront .ruvi-commerce-cta{display:flex;justify-content:center;align-items:center;gap:10px;min-height:44px;border:1px solid #304E44;background:#304E44;color:#fff;border-radius:4px;font-size:15px;font-weight:500;padding:9px 8px;line-height:1.4;text-align:center}
.ruvi-storefront .ruvi-commerce-cta:hover{background:#304E44;color:#fff}
.ruvi-storefront .ruvi-commerce-cta:focus-visible{outline:2px solid #304E44;outline-offset:3px}
@media(max-width:480px){.ruvi-storefront .ruvi-commerce-content{padding:10px;gap:7px}.ruvi-storefront .ruvi-commerce-card .ruvi-commerce-title{font-size:15px}.ruvi-storefront .ruvi-commerce-category{font-size:13px}.ruvi-storefront .ruvi-commerce-price{font-size:14px}.ruvi-storefront .ruvi-commerce-cta{font-size:14px}.ruvi-storefront .ruvi-commerce-image{padding:6px}}
@media(prefers-reduced-motion:reduce){.ruvi-storefront .ruvi-commerce-image img{transition:none}}

.ruvi-storefront .ruvi-commerce-content{gap:6px}
.ruvi-storefront .ruvi-commerce-rating{margin-top:0!important}
.ruvi-storefront .ruvi-empty-stars{font-family:Arial,sans-serif;font-size:17px;letter-spacing:1px;color:#a3aaa4;line-height:1}
.ruvi-storefront .ruvi-commerce-cta{margin-top:auto}

.ruvi-storefront .ruvi-filled-stars{font-family:Arial,sans-serif;font-size:15px;color:#304E44;letter-spacing:1px;white-space:nowrap}

/* Compact mobile header without the empty announcement band. */
@media(max-width:800px){
.ruvi-storefront .announcement{display:none!important}
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{align-items:center;min-height:0;padding-top:12px;padding-bottom:12px;row-gap:10px}
.ruvi-storefront header .wordmark{display:flex;align-items:center;margin-right:auto;align-self:center;line-height:1;padding:0}
.ruvi-storefront header .header-icon,.ruvi-storefront header .bag-button,.ruvi-storefront header .menu-button{align-self:center;display:flex;align-items:center;justify-content:center;height:44px;min-height:44px;margin:0;padding:0}
.ruvi-storefront header .site-search{margin-top:0}
}

/* Pagination belongs beneath the grid, outside mobile menu positioning. */
.ruvi-storefront nav.ruvi-pagination{position:static!important;inset:auto!important;z-index:auto!important;display:flex;flex-wrap:wrap;height:auto;box-shadow:none;background:transparent;border:0;margin:0;padding:24px 0;gap:16px}
.ruvi-storefront .shop-hero h1,.ruvi-storefront .shop-hero .eyebrow,.ruvi-storefront .shop-hero .shop-breadcrumb,.ruvi-storefront .shop-hero .shop-breadcrumb a{color:#fff!important}
.ruvi-storefront .shop-hero h1{text-shadow:0 2px 12px #0005}
.ruvi-storefront .shop-hero .eyebrow{opacity:.9}

.ruvi-mobile-tabs{display:none}
.ruvi-category-sheet{border:0;border-radius:18px 18px 0 0;background:#fff;color:#304E44;padding:20px;max-height:75dvh;width:100%;max-width:600px;margin:auto auto 0;box-sizing:border-box}
.ruvi-category-sheet::backdrop{background:#132b2466}
.ruvi-category-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.ruvi-category-sheet-head h2{font-size:26px;margin:0}
.ruvi-category-sheet-head button{border:0;background:#f0f4f1;border-radius:50%;width:40px;height:40px;font-size:26px;color:#304E44}
.ruvi-category-sheet-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:env(safe-area-inset-bottom)}
.ruvi-category-sheet-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #dce5df;border-radius:6px;padding:14px 12px;font-size:15px;color:#304E44;min-height:50px}
@media(max-width:800px){
body.ruvi-storefront{padding-bottom:calc(66px + env(safe-area-inset-bottom))!important}
.ruvi-storefront nav.ruvi-mobile-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed!important;inset:auto 0 0!important;z-index:1040;background:#fff;border-top:1px solid #dce5df;box-shadow:0 -3px 14px #183c250b;padding:6px 4px calc(6px + env(safe-area-inset-bottom));margin:0;gap:0;height:auto}
.ruvi-mobile-tabs a,.ruvi-mobile-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 0;min-height:48px;background:transparent;border:0;color:#304E44;font-family:'DM Sans',Arial,sans-serif;font-size:11px;line-height:1.3;min-width:0}
.ruvi-mobile-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.ruvi-mobile-tabs a:focus-visible,.ruvi-mobile-tabs button:focus-visible{outline:2px solid #304E44;outline-offset:-2px;border-radius:4px}
.ruvi-mobile-buy{bottom:calc(66px + env(safe-area-inset-bottom))!important}
body.ruvi-storefront.has-ruvi-mobile-buy{padding-bottom:calc(140px + 2 * env(safe-area-inset-bottom))!important}
.ruvi-storefront .shop-sidebar{display:none!important}
}

.ruvi-wishlist-page{padding:30px 0 40px}
.ruvi-wishlist-page>.container{width:92%;max-width:1320px;padding:0;margin:auto}
.ruvi-wishlist-page .ruvi-page-heading{padding:0;margin:0 auto 24px;max-width:700px;text-align:center}
.ruvi-wishlist-page .ruvi-page-heading h1{margin:8px 0 12px;font-size:42px;line-height:1.15}
.ruvi-wishlist-page .ruvi-page-heading p{font-size:16px;line-height:1.65;margin:0}
.ruvi-wishlist-page .wishlist-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;width:100%}
.ruvi-wishlist-page .wishlistItem{width:100%;max-width:none;padding:0;margin:0;min-width:0}
.ruvi-wishlist-page .ruvi-commerce-card{position:relative}
.ruvi-saved-remove{position:absolute;top:10px;right:10px;width:36px;height:36px;z-index:2;border:1px solid #dce4de;border-radius:50%;background:#fff;color:#304E44;display:grid;place-items:center;box-shadow:0 2px 8px #0000000a}
.ruvi-saved-remove:hover{background:#f4eee8}
@media(max-width:800px){.ruvi-wishlist-page{padding:24px 0 28px}.ruvi-wishlist-page .ruvi-page-heading{margin-bottom:22px}.ruvi-wishlist-page .ruvi-page-heading h1{font-size:32px}.ruvi-wishlist-page .wishlist-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ruvi-wishlist-page .removeAllBtn{padding:9px 12px;font-size:14px;min-height:42px}.ruvi-wishlist-page h4{font-size:24px}.ruvi-wishlist-page .ruvi-page-heading .eyebrow{font-size:12px}.ruvi-storefront .dashboard-content{min-width:0;max-width:100%;box-sizing:border-box}.ruvi-storefront .dashboard-content>.row{--bs-gutter-x:12px}}

/* Desktop navigation rules must not expose the mobile tab bar. */
@media(min-width:801px){.ruvi-storefront nav.ruvi-mobile-tabs,.ruvi-shell nav.ruvi-mobile-tabs{display:none!important}}
.ruvi-storefront .ruvi-mobile-tabs svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor;stroke-width:1.5;flex-shrink:0}

/* Balanced newsletter and footer columns. */
.ruvi-storefront .ruvi-newsletter-strip{padding:26px 5%;gap:32px}
.ruvi-storefront .ruvi-newsletter-strip>div{flex:1;min-width:0;gap:14px}
.ruvi-storefront .ruvi-newsletter-strip h2{font-size:28px;line-height:1.2;margin-bottom:7px}
.ruvi-storefront .ruvi-newsletter-strip p{font-size:14px;line-height:1.6}
.ruvi-storefront .ruvi-newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:390px;max-width:100%;margin:0;align-items:start}
.ruvi-storefront .ruvi-newsletter-form input{width:100%;min-width:0;height:46px;border-radius:5px;font-size:15px;padding:12px 14px}
.ruvi-storefront .ruvi-newsletter-form button{height:46px;min-height:46px;border-radius:5px;padding:10px 20px;font-size:15px;margin:0}
.ruvi-storefront .ruvi-newsletter-form .ruvi-newsletter-message{grid-column:1/-1}
.ruvi-storefront .ruvi-newsletter-message:empty{display:none}
.ruvi-storefront footer{padding:36px 5% 18px;border-radius:0}
.ruvi-storefront .footer-main{display:grid;grid-template-columns:1.5fr .8fr 1.15fr 1fr 1fr;gap:32px;align-items:start;padding:0 0 28px;margin:0}
.ruvi-storefront footer .footer-logo,.ruvi-storefront footer .footer-logo .ruvi-brand-logo{width:140px}
.ruvi-storefront .footer-brand p{margin:18px 0 12px;max-width:290px;line-height:1.7}
.ruvi-storefront .footer-mark{display:block;font-size:11px;letter-spacing:1px;line-height:1.6}
.ruvi-storefront .footer-main h3{font-size:15px;font-weight:600;margin:0 0 14px;line-height:1.5}
.ruvi-storefront .footer-main a:not(.footer-logo){display:block;font-size:14px;line-height:1.6;margin:0 0 8px;min-height:0;padding:0}
.ruvi-storefront .footer-main p{font-size:14px;line-height:1.7}
.ruvi-storefront .footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0 0;margin:0;border-top:1px solid #ffffff20;font-size:13px;line-height:1.6}
@media(max-width:1000px){.ruvi-storefront .footer-main{grid-template-columns:1.3fr 1fr 1fr;gap:24px}.ruvi-storefront .ruvi-newsletter-form{width:340px}}
@media(max-width:800px){.ruvi-storefront .ruvi-newsletter-strip{padding:24px 4%;flex-direction:column;align-items:stretch;gap:18px}.ruvi-storefront .ruvi-newsletter-form{width:100%}.ruvi-storefront footer{padding:28px 4% 20px}.ruvi-storefront .footer-main{grid-template-columns:1fr 1fr;gap:24px 20px;padding-bottom:22px}.ruvi-storefront .footer-brand{grid-column:1/-1}.ruvi-storefront .footer-bottom{flex-direction:column;gap:5px}.ruvi-storefront .footer-main a:not(.footer-logo){min-height:32px;margin-bottom:4px}.ruvi-storefront .footer-brand p{max-width:100%}}

.ruvi-storefront .ruvi-newsletter-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;color:#304E44}.ruvi-storefront .ruvi-newsletter-symbol svg{width:28px;height:28px;display:block}

@media(max-width:767px){.ruvi-storefront footer .footer-logo,.ruvi-storefront footer .footer-logo .ruvi-brand-logo{width:84px!important}.ruvi-storefront footer .footer-logo .ruvi-brand-logo{height:auto}.ruvi-storefront .footer-brand p{margin-top:14px}}

/* Mobile shopping actions are available in the bottom navigation. */
@media(max-width:800px){.ruvi-storefront header .header-icon,.ruvi-storefront header .bag-button{display:none!important}.ruvi-storefront header .menu-button{margin-left:auto}}

/* One-row mobile header: brand, live search, menu. */
@media(max-width:800px){
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{display:grid;grid-template-columns:74px minmax(0,1fr) 36px;gap:10px;padding:10px 4%;align-items:center}
.ruvi-storefront header .wordmark{grid-column:1;min-width:0;margin:0;width:74px}
.ruvi-storefront header .wordmark .ruvi-brand-logo{width:74px}
.ruvi-storefront header .site-search{grid-column:2;grid-row:1;order:initial;width:100%;min-width:0;max-width:none;margin:0;height:42px}
.ruvi-storefront header .site-search input{font-size:14px;padding:0 8px}
.ruvi-storefront header .site-search button{min-width:34px;width:34px}
.ruvi-storefront header .menu-button{grid-column:3;grid-row:1;width:36px;min-width:36px;margin:0}
.ruvi-storefront header .ruvi-search-results{width:calc(92vw);max-width:92vw;left:auto;right:-46px}
.ruvi-storefront header nav.open{grid-column:1/-1}
}

/* Mobile collection cards need sufficient width for readable copy. */
@media(max-width:800px){
.ruvi-storefront .section{padding-top:26px;padding-bottom:26px}
.ruvi-storefront .section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin-bottom:14px;align-items:center}
.ruvi-storefront .section-head>div:first-child{grid-column:1/-1}
.ruvi-storefront .section-head h2{font-size:30px;line-height:1.15;margin:0 0 6px}
.ruvi-storefront .section-head .eyebrow{font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none}
.ruvi-storefront .section-head>.text-link{grid-column:1;font-size:14px;line-height:1.5;margin:0;white-space:normal}
.ruvi-storefront .section-head .carousel-controls{grid-column:2;margin:0;gap:6px}
.ruvi-storefront .carousel-arrow{width:36px;height:36px}
.ruvi-storefront .section>.featured-grid.carousel-track{grid-auto-columns:85%;gap:12px}
.ruvi-storefront .featured-card{height:245px}
.ruvi-storefront .featured-card>div,.ruvi-storefront .featured-card.model:first-child>div{margin-left:0;width:72%;padding:20px 16px;background:linear-gradient(90deg,#eee4d7f5,#eee4d7de 65%,transparent);align-items:flex-start}
.ruvi-storefront .featured-card.model:first-child img{width:100%;left:0;object-position:center}
.ruvi-storefront .featured-card h3{font-size:29px;line-height:1.05;margin-bottom:12px;overflow-wrap:normal}
.ruvi-storefront .featured-card p{font-size:15px;line-height:1.5;max-width:165px}
.ruvi-storefront .featured-card span{font-size:14px;line-height:1.5;margin-top:auto}
.ruvi-storefront .featured-card.festive>div,.ruvi-storefront .featured-card.solitaire>div{background:linear-gradient(90deg,#263d32e6,#263d3299 70%,transparent);color:#fff}
.ruvi-storefront .featured-card.festive h3,.ruvi-storefront .featured-card.solitaire h3{color:#fff}
}

/* Mobile gifting section keeps the full piece visible. */
@media(max-width:800px){
.ruvi-storefront .gifting-banner{grid-template-columns:1fr;margin-top:12px;min-height:0}
.ruvi-storefront .gifting-banner .gift-art{height:200px;min-height:0;background:#faf7f0;overflow:hidden}
.ruvi-storefront .gifting-banner .gift-art img{position:static;width:100%;height:100%;object-fit:contain;max-width:100%}
.ruvi-storefront .gifting-banner>div:nth-child(2){padding:20px 5%}
.ruvi-storefront .gifting-banner h2{font-size:32px;line-height:1.1;margin:0 0 8px}
.ruvi-storefront .gifting-banner .eyebrow{font-size:13px;letter-spacing:.8px}
.ruvi-storefront .gifting-banner p{font-size:16px;line-height:1.6;margin:12px 0 16px}
.ruvi-storefront .gifting-banner p br{display:none}
.ruvi-storefront .gifting-banner .primary{width:100%;min-height:46px;padding:12px;font-size:15px;text-align:center;justify-content:center}
.ruvi-storefront .gifting-banner .gift-benefits{grid-column:auto;padding:16px 5%;gap:10px;border-top:1px solid #d8c7b4;font-size:14px}
.ruvi-storefront .gift-benefits svg{flex-shrink:0;width:22px;height:22px}
}

/* Balanced desktop header with breathing room around the brand. */
@media(min-width:801px){
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{height:88px;min-height:88px;display:flex;align-items:center;padding:10px 5%;gap:20px}
.ruvi-storefront header .wordmark{display:flex;align-items:center;width:118px;min-width:118px;margin:0;line-height:1;flex-shrink:0}
.ruvi-storefront header .wordmark .ruvi-brand-logo{width:118px;height:auto;max-height:68px;object-fit:contain}
.ruvi-storefront header nav#ruvi-navigation{position:static;display:flex;align-items:center;gap:20px;margin:0;font-size:15px;flex-shrink:0}
.ruvi-storefront header .site-search{margin-left:auto;width:clamp(190px,24vw,300px);min-width:170px;height:42px;flex-shrink:1}
.ruvi-storefront header .header-icon,.ruvi-storefront header .bag-button{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;min-height:44px;flex-shrink:0;margin:0}
.ruvi-storefront header .menu-button{display:none}
}
@media(min-width:801px) and (max-width:1100px){
.ruvi-storefront header,.ruvi-storefront .ruvi-shell header{padding-inline:3%;gap:12px}
.ruvi-storefront header .wordmark{width:100px;min-width:100px}
.ruvi-storefront header .wordmark .ruvi-brand-logo{width:100px}
.ruvi-storefront header nav#ruvi-navigation{gap:12px;font-size:14px}
.ruvi-storefront header .site-search{width:180px;min-width:130px}
}
/* Homepage gallery and film */
body.ruvi-storefront .ruvi-gallery-grid{display:block;columns:4;column-gap:18px}
body.ruvi-storefront .ruvi-gallery-item{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;margin:0 0 18px;padding:0;overflow:hidden;border:1px solid #dce5df;border-radius:10px;background:#F6F7F4;color:#304E44;text-align:left;cursor:pointer;font:inherit}
body.ruvi-storefront .ruvi-gallery-item img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .2s}
body.ruvi-storefront .ruvi-gallery-item>span{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;font-size:16px}
body.ruvi-storefront .ruvi-gallery-item:hover img{transform:scale(1.025)}
body.ruvi-storefront .ruvi-gallery-item:focus-visible{outline:3px solid #304E44;outline-offset:3px}
.ruvi-gallery-dialog{width:min(900px,92vw);max-height:90dvh;padding:20px;border:0;border-radius:12px;background:#F6F7F4;color:#28251f;overflow:auto}.ruvi-gallery-dialog::backdrop{background:rgba(0,0,0,.78)}.ruvi-gallery-dialog img{display:block;width:100%;max-height:72dvh;object-fit:contain}.ruvi-gallery-dialog p{margin:12px 0 0;text-align:center}.ruvi-gallery-close{display:block;margin:0 0 8px auto;width:44px;height:44px;border:1px solid #dce5df;border-radius:50%;background:white;color:#28251f;font-size:28px;cursor:pointer}
body.ruvi-storefront .ruvi-video-frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#304E44}
body.ruvi-storefront .ruvi-video-frame>iframe,body.ruvi-storefront .ruvi-video-frame>video,body.ruvi-storefront .ruvi-video-frame>img{display:block;width:100%;height:100%;border:0;object-fit:cover}
body.ruvi-storefront .ruvi-video-coming{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:rgba(0,0,0,.4);color:white}
body.ruvi-storefront .ruvi-video-coming h3{font-family:var(--ruvi-serif);font-size:clamp(28px,4vw,48px);margin:0;color:white}
body.ruvi-storefront .ruvi-video-coming .eyebrow{color:white}
@media(max-width:767px){body.ruvi-storefront .ruvi-gallery-grid{columns:2;column-gap:12px}body.ruvi-storefront .ruvi-gallery-item{margin-bottom:12px}body.ruvi-storefront .ruvi-gallery-item>span{padding:10px;font-size:14px}body.ruvi-storefront .ruvi-video-frame{aspect-ratio:4/3}body.ruvi-storefront .ruvi-video-coming{gap:10px;padding:16px}}
@media(prefers-reduced-motion:reduce){body.ruvi-storefront .ruvi-gallery-item img{transition:none}}
body.ruvi-storefront .ruvi-reels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;gap:24px}
body.ruvi-storefront .ruvi-reel-card{margin:0;min-width:0}
body.ruvi-storefront .ruvi-reel-player{aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#304E44}
body.ruvi-storefront .ruvi-reel-player video{display:block;width:100%;height:100%;object-fit:contain}
body.ruvi-storefront .ruvi-reel-card h3{font:500 18px/1.4 'DM Sans',sans-serif;margin:12px 0 0;color:#304E44}
@media(max-width:767px){body.ruvi-storefront .ruvi-reels-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}body.ruvi-storefront .ruvi-reel-card h3{font-size:14px}}

@media(min-width:768px) and (max-width:1100px){body.ruvi-storefront .ruvi-gallery-grid{columns:3}}
/* Two gallery rows move in opposite directions with page scrolling. */
body.ruvi-storefront .ruvi-gallery-slider{display:grid;gap:18px}
body.ruvi-storefront .ruvi-gallery-row{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 4px 8px;touch-action:pan-x pan-y}
body.ruvi-storefront .ruvi-gallery-row::-webkit-scrollbar{display:none}
body.ruvi-storefront .ruvi-gallery-row .ruvi-gallery-item{display:block;flex:0 0 clamp(210px,23vw,320px);width:auto;margin:0;vertical-align:initial}
body.ruvi-storefront .ruvi-gallery-row .ruvi-gallery-item img{height:auto;aspect-ratio:4/5;width:100%;object-fit:cover}
body.ruvi-storefront .ruvi-gallery-row:focus-visible{outline:2px solid #304E44;outline-offset:3px;border-radius:10px}
@media(max-width:767px){body.ruvi-storefront .ruvi-gallery-slider{gap:10px}body.ruvi-storefront .ruvi-gallery-row{gap:12px}body.ruvi-storefront .ruvi-gallery-row .ruvi-gallery-item{flex-basis:44vw;max-width:240px;margin:0}}
/* Consistent collection cards: image above a separate, readable content panel. */
body.ruvi-storefront .featured-grid .featured-card{display:flex;flex-direction:column;height:auto;min-height:0;background:#F6F7F4;border:1px solid #dce5df;border-radius:10px;overflow:hidden;color:#28251f}
body.ruvi-storefront .featured-grid .featured-card img,body.ruvi-storefront .featured-grid .featured-card.model:first-child img{position:static;inset:auto;left:auto;display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
body.ruvi-storefront .featured-grid .featured-card.model img{object-position:65% 30%}
body.ruvi-storefront .featured-grid .featured-card.festive img,body.ruvi-storefront .featured-grid .featured-card.solitaire img{object-fit:contain;background:white;padding:12px}
body.ruvi-storefront .featured-grid .featured-card>div,body.ruvi-storefront .featured-grid .featured-card.model:first-child>div{position:static;display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;height:auto;min-height:190px;margin:0;padding:20px;background:#F6F7F4;color:#28251f}
body.ruvi-storefront .featured-grid .featured-card h3{font-family:var(--ruvi-serif);font-size:clamp(26px,2.2vw,34px);line-height:1.08;color:#28251f;margin:0 0 12px;min-height:2.16em}
body.ruvi-storefront .featured-grid .featured-card p{font-size:16px;line-height:1.5;max-width:none;margin:0 0 20px;color:#6e675f}
body.ruvi-storefront .featured-grid .featured-card span{font-size:15px;line-height:1.4;margin-top:auto;color:#304E44}
@media(min-width:801px){body.ruvi-storefront .section>.featured-grid.carousel-track{grid-auto-columns:calc((100% - 54px)/4);gap:18px}}
@media(min-width:801px) and (max-width:1100px){body.ruvi-storefront .section>.featured-grid.carousel-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:800px){body.ruvi-storefront .section>.featured-grid.carousel-track{grid-auto-columns:82%;gap:14px}body.ruvi-storefront .featured-grid .featured-card>div,body.ruvi-storefront .featured-grid .featured-card.model:first-child>div{padding:18px;min-height:180px}body.ruvi-storefront .featured-grid .featured-card h3{font-size:30px}body.ruvi-storefront .featured-grid .featured-card p{font-size:16px}}
/* Catalogue: normal page scrolling with a sticky category sidebar. */
body.ruvi-storefront .shop-layout{--catalog-header-height:100px;align-items:start;gap:26px}
body.ruvi-storefront .shop-main{min-width:0;outline-offset:4px}
body.ruvi-storefront .shop-sidebar h3{margin:0 0 18px;font-size:28px}
body.ruvi-storefront .shop-sidebar a{display:block;margin:0;padding:12px 10px;border-bottom:1px solid #dce5df;font-size:16px;line-height:1.4;border-radius:5px;color:#28251f;transition:background .15s}
body.ruvi-storefront .shop-sidebar a:hover{background:#f0f4f1;color:#304E44}
body.ruvi-storefront .shop-sidebar a.is-active{background:#304E44;color:white;border-color:transparent;font-weight:600}
body.ruvi-storefront .shop-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;background:white;margin-bottom:20px;padding:0 0 16px;font-size:16px}
body.ruvi-storefront .shop-filter-form{gap:10px}
body.ruvi-storefront .shop-filter-form select{font-size:16px;min-height:46px;padding:10px 32px 10px 12px;max-width:220px}
body.ruvi-storefront .shop-filter-form .secondary{min-height:46px;padding:10px 18px;font-size:16px}
@media(min-width:801px){
body.ruvi-storefront .shop-layout{grid-template-columns:220px minmax(0,1fr);padding-top:26px}
body.ruvi-storefront .shop-sidebar{position:sticky;top:calc(var(--catalog-header-height) + 16px);max-height:calc(100dvh - var(--catalog-header-height) - 32px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:20px 16px;border-radius:10px}
body.ruvi-storefront .shop-main{height:auto;min-height:0;overflow:visible;padding:0 0 16px}
body.ruvi-storefront .shop-toolbar{position:static;padding-top:2px;box-shadow:none}
body.ruvi-storefront .shop-product-grid{gap:18px}
}
@media(min-width:801px) and (max-width:1100px){body.ruvi-storefront .shop-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}body.ruvi-storefront .shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){body.ruvi-storefront .shop-layout{display:block;padding-top:20px}body.ruvi-storefront .shop-main{height:auto;min-height:0;overflow:visible;padding:0}body.ruvi-storefront .shop-toolbar{gap:12px;align-items:flex-start}body.ruvi-storefront .shop-filter-form{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}body.ruvi-storefront .shop-filter-form select{width:100%;max-width:none;min-width:0}body.ruvi-storefront .shop-filter-form .secondary{padding:10px 14px}body.ruvi-storefront .shop-product-grid{gap:12px}}
/* Centre desktop navigation between the brand and search/actions. */
@media(min-width:801px){
body.ruvi-storefront header nav#ruvi-navigation{flex:1 1 auto;justify-content:center;margin:0}
body.ruvi-storefront header .site-search{margin-left:0}
}
/* Compact, aligned catalogue sorting controls. */
body.ruvi-storefront .shop-filter-form{display:flex;align-items:center;gap:10px;margin:0}
body.ruvi-storefront .shop-filter-form label{margin:0;white-space:nowrap;font-size:15px;font-weight:500;line-height:1.4;color:#6e675f}
body.ruvi-storefront .shop-filter-form select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232c4b45' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;width:200px;max-width:200px;min-height:44px;height:44px;padding:0 38px 0 14px;border:1px solid #dce5df;border-radius:7px;font:400 15px/1.4 'DM Sans',sans-serif;color:#28251f;cursor:pointer}
body.ruvi-storefront .shop-filter-form .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;min-width:80px;padding:0 18px;border:1px solid #304E44;border-radius:7px;background:#304E44;color:#fff;font:500 15px/1.4 'DM Sans',sans-serif;cursor:pointer}
body.ruvi-storefront .shop-filter-form .secondary:hover{background:#304E44}
body.ruvi-storefront .shop-filter-form select:focus-visible,body.ruvi-storefront .shop-filter-form .secondary:focus-visible{outline:2px solid #304E44;outline-offset:3px}
@media(max-width:800px){body.ruvi-storefront .shop-filter-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;gap:8px}body.ruvi-storefront .shop-filter-form select{width:100%;max-width:none;font-size:16px}body.ruvi-storefront .shop-filter-form .secondary{min-width:70px;padding-inline:14px}}
/* Unified RUVI account pages. */
body.ruvi-storefront .ruvi-auth-page{padding:40px 0!important;background:#F6F7F4!important;overflow:visible}
.ruvi-auth-page>.container{max-width:1120px;padding-inline:24px}
.ruvi-auth-page>.container>.row{align-items:center!important;--bs-gutter-x:48px;--bs-gutter-y:24px}
.ruvi-auth-page>.container>.row>div:first-child.d-none{flex:0 0 48%;width:48%}
.ruvi-auth-page>.container>.row>div:last-child{flex:0 0 52%;width:52%}
.ruvi-auth-page .ruvi-auth-photo{display:block;width:100%;height:600px;max-height:75vh;object-fit:cover;object-position:68% center;border-radius:14px}
.ruvi-auth-page .pe-xl-5{padding-right:0!important}
body.ruvi-storefront .ruvi-auth-page .auth-form{width:100%;padding:28px;border-radius:14px;border:1px solid #dce5df;background:#fff;box-shadow:0 8px 30px #182d2707;overflow:visible}
.ruvi-auth-page .auth-form__head{padding:0;margin:0 0 18px!important;text-align:center}
.ruvi-auth-page .auth-form__head .logo{margin:0 auto!important;max-width:120px}
.ruvi-auth-page .ruvi-auth-logo{display:block;width:110px;height:auto;margin:auto}
.ruvi-auth-page .auth-form__body{height:auto;max-height:none;overflow:visible}
.ruvi-auth-page .ruvi-auth-heading{font-family:var(--ruvi-serif);font-size:36px;line-height:1.15;text-align:center;margin:0 0 10px}
.ruvi-auth-page .ruvi-auth-subtitle{font-size:16px;line-height:1.5;color:#6e675f;text-align:center;margin:0 0 24px}
.ruvi-auth-page .form-group{margin-bottom:16px;height:auto;overflow:visible}
.ruvi-auth-page label.form--label,.ruvi-auth-page label.form-label{display:block;margin:0 0 7px;font-size:15px;font-weight:500;line-height:1.4}
body.ruvi-storefront .ruvi-auth-page input.form--control{display:block;width:100%;height:46px;min-height:46px;padding:10px 13px;font-size:16px;line-height:1.4;border-radius:7px;background:white}
.ruvi-auth-page .input-group{flex-wrap:nowrap}.ruvi-auth-page .input-group .form--control{min-width:0;border-radius:0 7px 7px 0!important}.ruvi-auth-page .input-group-text{border-color:#dce5df;background:#f5f7f5;border-radius:7px 0 0 7px;font-size:15px}
.ruvi-auth-page .form-check{display:flex;align-items:flex-start;gap:9px;padding-left:0}.ruvi-auth-page .form-check-input{position:static;float:none;flex:0 0 18px;width:18px;height:18px;min-height:0;margin:3px 0 0!important}.ruvi-auth-page .form-check-label{font-size:14px;line-height:1.6;padding:0!important}
.ruvi-auth-page .auth-form .btn{height:auto;min-height:46px;border-radius:7px;font-size:16px}
.ruvi-auth-page .auth-form form>p{font-size:15px;line-height:1.6;margin-top:16px!important}
.ruvi-auth-page .social-auth-list{margin:0;padding:0;list-style:none}.ruvi-auth-page .social-auth-link{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:7px;font-size:15px}.ruvi-auth-page .auth-divide{margin-block:20px}
.ruvi-auth-page .ruvi-auth-back{text-align:center;margin:18px 0 0;font-size:15px}
@media(min-width:992px){.ruvi-auth-page .ruvi-register-form{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.ruvi-auth-page .ruvi-register-form>*{grid-column:1/-1}.ruvi-auth-page .ruvi-register-form>.form-group:nth-of-type(1),.ruvi-auth-page .ruvi-register-form>.form-group:nth-of-type(2){grid-column:auto}}
@media(max-width:991px){body.ruvi-storefront .ruvi-auth-page{padding:24px 0!important}.ruvi-auth-page>.container{max-width:560px;padding-inline:16px}.ruvi-auth-page>.container>.row>div:last-child{flex:0 0 100%;width:100%}body.ruvi-storefront .ruvi-auth-page .auth-form{padding:24px 20px}.ruvi-auth-page .ruvi-auth-heading{font-size:32px}.ruvi-auth-page .ruvi-auth-subtitle{font-size:15px}}
/* Adjustments verified against the rendered account pages. */
body.ruvi-storefront .ruvi-auth-page{min-height:0;display:block}
.ruvi-auth-page>.container>.row{align-items:flex-start!important}
.ruvi-auth-page .auth-form__head{margin-bottom:14px!important}
.ruvi-auth-page .auth-form__head .logo{margin-bottom:0!important}
.ruvi-auth-page .ruvi-auth-logo{width:90px}
.ruvi-auth-page .ruvi-auth-heading{font-size:32px}
.ruvi-auth-page .ruvi-auth-subtitle{margin-bottom:20px}
@media(min-width:992px){.ruvi-auth-page>.container>.row>div:first-child.d-none{position:sticky;top:110px}.ruvi-auth-page .ruvi-auth-photo{height:600px;max-height:calc(100dvh - 140px);min-height:420px}}
@media(min-width:360px){.ruvi-auth-page .ruvi-register-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}.ruvi-auth-page .ruvi-register-form>*{grid-column:1/-1;min-width:0}.ruvi-auth-page .ruvi-register-form>.form-group:nth-of-type(1),.ruvi-auth-page .ruvi-register-form>.form-group:nth-of-type(2){grid-column:auto}}
@media(max-width:991px){.ruvi-auth-page .ruvi-auth-heading{font-size:29px}.ruvi-auth-page .auth-form__head{margin-bottom:12px!important}.ruvi-auth-page .form-group{margin-bottom:14px}}
/* Recovery page: photograph and form share the same panel height. */
@media(min-width:992px){
.ruvi-auth-page>.container.ruvi-auth-recovery>.row{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:32px;align-items:stretch!important;margin:0}
.ruvi-auth-page>.container.ruvi-auth-recovery>.row>div{width:100%;max-width:none;padding:0;margin:0}
.ruvi-auth-page>.container.ruvi-auth-recovery>.row>div:first-child.d-none{position:relative;top:auto;width:100%;min-height:0}
.ruvi-auth-recovery .row>div:first-child>.text-center{position:absolute;inset:0}
.ruvi-auth-page .ruvi-auth-recovery .ruvi-auth-photo{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:65% 35%}
.ruvi-auth-recovery .auth-form{height:100%}
}
.ruvi-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f0f4f1;border-radius:8px;margin-bottom:22px}.ruvi-login-tabs button{border:0;border-radius:6px;background:transparent;color:#6e675f;font:500 14px/1.4 'DM Sans',sans-serif;min-height:44px;padding:10px 8px;cursor:pointer}.ruvi-login-tabs button[aria-selected=true]{background:#304E44;color:#fff}.ruvi-login-tabs button:focus-visible{outline:2px solid #304E44;outline-offset:2px}.ruvi-auth-page [role=tabpanel][hidden],#otp-code-step[hidden],#otp-resend[hidden]{display:none!important}#ruvi-otp-form small{display:block;margin-top:8px;color:#6e675f;font-size:13px;line-height:1.5}#otp-status{font-size:14px;line-height:1.5;color:#304E44;margin:0 0 12px}#otp-status:empty{display:none}#otp-status.otp-error{color:#b42318}.ruvi-otp-resend{display:block;margin:14px auto 0;padding:8px;border:0;background:none;color:#304E44;font:500 14px 'DM Sans',sans-serif;cursor:pointer}.ruvi-otp-resend:disabled{color:#6e675f;cursor:default}

/* Golden brand mark on the green footer. */
.ruvi-storefront footer .footer-logo .ruvi-brand-logo{filter:url(#ruvi-footer-logo-gold)}

/* Pale gold surfaces coordinated with the footer logo. */
.ruvi-storefront .circle-banner,.ruvi-storefront .ruvi-newsletter-strip{background:#F6F7F4;border-color:#DDD38C}

/* Coordinated pale-gold surfaces: light base, soft panels, stronger accents. */
:root{--ruvi-ivory:#F6F7F4;--ruvi-cream:#F6F7F4;--ruvi-cream-panel:#F6F7F4;--ruvi-pale-gold:#DDD38C}
.ruvi-storefront .story,.ruvi-storefront .ruvi-gallery-section,.ruvi-storefront .ruvi-video-section{background-color:var(--ruvi-ivory)}
.ruvi-storefront .circle-banner,.ruvi-storefront .ruvi-newsletter-strip{background:var(--ruvi-cream-panel);border-color:#E5DDAA}
.ruvi-storefront .faq-grid details,.ruvi-storefront .shop-sidebar{background:var(--ruvi-cream)}
.ruvi-storefront .ruvi-newsletter-form .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Subtle lighter variations within the cream palette. */
.ruvi-storefront .story{background-color:#F6F7F4}
.ruvi-storefront .ruvi-gallery-section{background-color:#F6F7F4}
.ruvi-storefront .circle-banner{background:#F6F7F4}
.ruvi-storefront .ruvi-newsletter-strip{background:#F6F7F4}

/* Six collection cards per row on desktop. */
@media(min-width:1101px){body.ruvi-storefront .category-section>.category-grid.carousel-track{grid-auto-columns:calc((100% - 90px)/6);gap:18px}body.ruvi-storefront .category-section>.category-grid:not(.carousel-track){grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}}

/* Very light pale-gold gallery cards. */
body.ruvi-storefront .ruvi-gallery-item{background:#FAF7E8;border-color:#EBE5C8}

.ruvi-hero-slider{position:relative}.ruvi-hero-slide[hidden]{display:none!important}.ruvi-hero-controls{position:absolute;bottom:16px;right:5%;display:flex;align-items:center;gap:10px;z-index:3;background:#ffffffdc;padding:7px 10px;border-radius:30px}.ruvi-hero-controls>button{width:32px;height:32px;border:0;background:transparent;color:#304E44;font-size:24px;cursor:pointer}.ruvi-hero-dots{display:flex;gap:9px}.ruvi-hero-dots button{width:9px;height:9px;border-radius:50%;padding:0;border:1px solid #304E44;background:transparent;cursor:pointer}.ruvi-hero-dots button[aria-pressed=true]{background:#304E44}.ruvi-hero-controls button:focus-visible{outline:2px solid #304E44;outline-offset:3px}
.ruvi-storefront .ruvi-orders-table th,.ruvi-storefront .ruvi-orders-table td{padding:16px!important;vertical-align:middle;font-size:14px}.ruvi-storefront .ruvi-orders-table th{background:#F6F7F4;font-weight:600}.ruvi-storefront .ruvi-order-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.ruvi-storefront .ruvi-order-actions .btn{min-height:36px!important;padding:7px 12px!important;font-size:13px!important;line-height:1.4;white-space:nowrap;box-shadow:none}.ruvi-storefront .ruvi-order-actions .btn:disabled{opacity:1;color:#777;background:#F6F7F4;border-color:#dce5df;cursor:default}
@media(max-width:767px){.ruvi-hero-controls{bottom:10px;right:4%}.ruvi-hero-slider .hero-copy{padding-bottom:65px}.ruvi-storefront .ruvi-orders-table td{padding:12px!important}.ruvi-storefront .ruvi-order-actions{justify-content:flex-end}}

/* Clickable image-only hero carousel. */
.ruvi-image-slider{overflow:hidden;background:#F6F7F4;touch-action:pan-y}.ruvi-hero-track{display:flex;transition:transform .65s ease;will-change:transform}.ruvi-image-slide{display:block;flex:0 0 100%;min-width:0;height:clamp(360px,38vw,650px)}.ruvi-image-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.ruvi-image-slide:first-child img{object-position:center 35%}
@media(max-width:767px){.ruvi-image-slide{height:420px}.ruvi-image-slide:first-child img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.ruvi-hero-track{transition:none}}

/* Cinematic Ken Burns motion with gentle image crossfades. */
.ruvi-image-slider .ruvi-hero-track{display:block;position:relative;height:clamp(360px,38vw,650px);transform:none!important;transition:none;will-change:auto}
.ruvi-image-slider .ruvi-image-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:0;pointer-events:none;overflow:hidden;transition:opacity 1.4s ease-in-out}
.ruvi-image-slider .ruvi-image-slide.is-active{opacity:1;z-index:1;pointer-events:auto}
.ruvi-image-slider .ruvi-image-slide img{transform:scale(1.035);will-change:transform}
.ruvi-image-slider .ruvi-image-slide.is-active img{animation:ruvi-cinematic-zoom 9.4s linear both}
.ruvi-image-slider .ruvi-image-slide:nth-child(even).is-active img{animation-direction:reverse}
@keyframes ruvi-cinematic-zoom{from{transform:scale(1.035) translateX(-.6%)}to{transform:scale(1.105) translateX(.6%)}}
@media(max-width:767px){.ruvi-image-slider .ruvi-hero-track{height:420px}}
@media(prefers-reduced-motion:reduce){.ruvi-image-slider .ruvi-image-slide{transition:none}.ruvi-image-slider .ruvi-image-slide img{animation:none!important;transform:none;will-change:auto}}

.ruvi-seo-heading{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.ruvi-storefront .ruvi-policy-links{display:flex;flex-wrap:wrap;gap:18px;padding:0 0 18px;font-size:13px}

/* ONE button size across the storefront (cards, product page, cart, checkout, account, forms):
   38px high, 14px text, 20px side padding, 4px corners. Icon-only controls (quantity +/-, wishlist heart,
   gallery arrows, header icons) have their own classes and are not touched. */
body.ruvi-storefront.ruvi-storefront.ruvi-storefront :is(.btn,.primary,.secondary,.ruvi-commerce-cta,.pd-btn-cart,.pd-btn-quote,.ruvi-buy-now):not([hidden]){
  min-height:38px!important;height:auto!important;padding:7px 20px!important;
  font-size:14px!important;font-weight:500;line-height:1.3!important;border-radius:4px!important;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;
}
/* Buttons that stretch across a card or a form keep stretching, just at the common height */
body.ruvi-storefront.ruvi-storefront .ruvi-commerce-cta:not([hidden]){display:flex;width:100%}

/* ---------- Contact page ---------- */
body.ruvi-storefront .ruvi-contact{padding:8px 0 64px}
body.ruvi-storefront .ruvi-contact-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);max-width:1080px;margin:0 auto;background:#fff;border:1px solid var(--ruvi-line);border-radius:10px;overflow:hidden;box-shadow:0 18px 50px rgba(32,40,36,.07)}
body.ruvi-storefront .ruvi-contact-card:not(:has(.ruvi-contact-info)){grid-template-columns:minmax(0,1fr);max-width:720px}
body.ruvi-storefront .ruvi-contact-info{padding:44px 40px;background:#304E44;color:#fff}
body.ruvi-storefront .ruvi-contact-info h2{margin:0 0 12px;font-size:34px;line-height:1.15;color:#fff}
body.ruvi-storefront .ruvi-contact-intro{margin:0 0 28px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.82)}
body.ruvi-storefront .ruvi-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
body.ruvi-storefront .ruvi-contact-list li{display:flex;align-items:center;gap:14px}
body.ruvi-storefront .ruvi-contact-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);font-size:22px;color:#fff}
body.ruvi-storefront .ruvi-contact-text{display:grid;gap:2px;min-width:0}
body.ruvi-storefront .ruvi-contact-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
body.ruvi-storefront .ruvi-contact-value{font-size:17px;color:#fff;word-break:break-word}
body.ruvi-storefront a.ruvi-contact-value{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}
body.ruvi-storefront a.ruvi-contact-value:hover{text-decoration-color:#fff}
body.ruvi-storefront .ruvi-contact-form{padding:44px 40px}
body.ruvi-storefront .ruvi-contact-form h2{margin:0 0 22px;font-size:30px;line-height:1.2}
body.ruvi-storefront .ruvi-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
body.ruvi-storefront .ruvi-field-wide{grid-column:1 / -1}
body.ruvi-storefront .ruvi-field .form--label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#353329}
body.ruvi-storefront .ruvi-contact-fields .form--control{width:100%;background:#fafaf8}
body.ruvi-storefront .ruvi-contact-fields .form--control:focus{background:#fff}
body.ruvi-storefront .ruvi-contact-fields textarea.form--control{min-height:140px;resize:vertical}
body.ruvi-storefront .ruvi-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
body.ruvi-storefront .ruvi-contact-note{font-size:13px;color:var(--ruvi-muted)}
@media(max-width:900px){
  body.ruvi-storefront .ruvi-contact-card{grid-template-columns:minmax(0,1fr);border-radius:8px}
  body.ruvi-storefront .ruvi-contact-info,body.ruvi-storefront .ruvi-contact-form{padding:28px 22px}
  body.ruvi-storefront .ruvi-contact-info h2{font-size:28px}
  body.ruvi-storefront .ruvi-contact-fields{grid-template-columns:1fr}
  body.ruvi-storefront .ruvi-contact-actions .btn{width:100%}
}

/* ---------- About page ---------- */
body.ruvi-storefront .ruvi-about-values article{display:flex;flex-direction:column;gap:6px;border-top:3px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.ruvi-storefront .ruvi-about-values article:hover{transform:translateY(-3px);border-top-color:var(--ruvi-gold);box-shadow:0 14px 34px rgba(32,40,36,.08)}
body.ruvi-storefront .ruvi-about-values article>a:last-child{margin-top:auto;padding-top:10px;font-weight:500}
body.ruvi-storefront .ruvi-about-cta{max-width:760px;margin:0 auto 72px;padding:48px 24px;text-align:center;border-top:1px solid var(--ruvi-line)}
body.ruvi-storefront .ruvi-about-cta h2{margin:14px 0 12px;font-size:42px;line-height:1.12}
body.ruvi-storefront .ruvi-about-cta p{margin:0 auto 26px;max-width:520px;font-size:16px;line-height:1.8;color:var(--ruvi-muted)}
body.ruvi-storefront .ruvi-about-cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
@media(max-width:600px){
  body.ruvi-storefront .ruvi-about-cta{padding:36px 20px;margin-bottom:48px}
  body.ruvi-storefront .ruvi-about-cta h2{font-size:32px}
  body.ruvi-storefront .ruvi-about-cta-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){body.ruvi-storefront .ruvi-about-values article{transition:none}body.ruvi-storefront .ruvi-about-values article:hover{transform:none}}

/* ---------- About page: breadcrumb + collections ---------- */
body.ruvi-storefront .ruvi-crumbs{max-width:1180px;margin:0 auto;padding:14px 24px 12px}
body.ruvi-storefront .ruvi-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ruvi-muted)}
body.ruvi-storefront .ruvi-crumbs li+li::before{content:"/";margin-right:8px;color:#b9b2a6}
body.ruvi-storefront .ruvi-crumbs a{color:var(--ruvi-muted);text-decoration:none}
body.ruvi-storefront .ruvi-crumbs a:hover{color:var(--ruvi-gold);text-decoration:underline}
body.ruvi-storefront .ruvi-crumbs [aria-current]{color:#353329}
body.ruvi-storefront .ruvi-about-collections{max-width:900px;margin:0 auto 56px;padding:0 24px;text-align:center}
body.ruvi-storefront .ruvi-about-collections h2{margin:0 0 20px;font-size:34px;line-height:1.15}
body.ruvi-storefront .ruvi-about-collections ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}
body.ruvi-storefront .ruvi-about-collections a{display:inline-block;padding:8px 18px;border:1px solid var(--ruvi-line);border-radius:999px;background:#fff;color:#353329;font-size:14px;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}
body.ruvi-storefront .ruvi-about-collections a:hover,body.ruvi-storefront .ruvi-about-collections a:focus-visible{border-color:var(--ruvi-gold);color:var(--ruvi-gold);background:var(--ruvi-ivory)}
body.ruvi-storefront .ruvi-about-collections a.is-all{border-color:#304E44;background:#304E44;color:#fff}
body.ruvi-storefront .ruvi-about-collections a.is-all:hover{background:#243b33;color:#fff}
@media(max-width:600px){
  body.ruvi-storefront .ruvi-crumbs{padding:12px 16px 8px}
  body.ruvi-storefront .ruvi-about-collections h2{font-size:28px}
}

/* ---------- Contact page: helpful links ---------- */
body.ruvi-storefront .ruvi-contact-links{display:flex;flex-direction:column;gap:8px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
body.ruvi-storefront .ruvi-contact-links a{color:#fff;font-size:14px;text-decoration:none;opacity:.9;width:fit-content}
body.ruvi-storefront .ruvi-contact-links a::after{content:" →"}
body.ruvi-storefront .ruvi-contact-links a:hover{opacity:1;text-decoration:underline}

/* ---------- About page: brand story, founder, promise, gifting ---------- */
body.ruvi-storefront .ruvi-brand{max-width:900px;margin:0 auto;padding:72px 24px 40px}
body.ruvi-storefront .ruvi-brand__head{text-align:center;margin-bottom:28px}
body.ruvi-storefront .ruvi-brand__head h2{font-size:46px;line-height:1.1;margin:14px 0 0}
body.ruvi-storefront .ruvi-brand__body p{font-size:17px;line-height:1.95;color:#4b524d;margin:0 0 18px}
body.ruvi-storefront .ruvi-brand__body .ruvi-brand__lead{font-family:var(--ruvi-serif,Georgia,serif);font-size:24px;line-height:1.6;color:#1f2a25;text-align:center;margin-bottom:26px}
body.ruvi-storefront .ruvi-brand__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0;padding:0;list-style:none}
body.ruvi-storefront .ruvi-brand__chips li{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--ruvi-line);border-radius:999px;background:#fff;font-size:14px;font-weight:500;color:#304e44}
body.ruvi-storefront .ruvi-brand__chips i{font-size:18px;color:var(--ruvi-gold)}
body.ruvi-storefront .ruvi-brand__tagline{text-align:center;margin:34px 0 0;font-family:var(--ruvi-serif,Georgia,serif);font-size:26px;color:#304e44}
body.ruvi-storefront .ruvi-founder{display:grid;grid-template-columns:340px 1fr;gap:48px;max-width:1100px;margin:30px auto 0;padding:56px 24px;align-items:start}
body.ruvi-storefront .ruvi-founder__card{background:#304e44;color:#fff;border-radius:16px;padding:36px 32px;position:sticky;top:110px}
body.ruvi-storefront .ruvi-founder__card .eyebrow{color:#ddd38c}
body.ruvi-storefront .ruvi-founder__card h2{color:#fff;font-size:40px;margin:12px 0 26px}
body.ruvi-storefront .ruvi-founder__facts{margin:0;display:grid;gap:18px}
body.ruvi-storefront .ruvi-founder__facts div{border-top:1px solid rgba(255,255,255,.2);padding-top:14px}
body.ruvi-storefront .ruvi-founder__facts dt{font-family:var(--ruvi-serif,Georgia,serif);font-size:44px;line-height:1;color:#ddd38c;font-weight:500}
body.ruvi-storefront .ruvi-founder__facts dd{margin:6px 0 0;font-size:14px;color:rgba(255,255,255,.82)}
body.ruvi-storefront .ruvi-founder__text p{font-size:17px;line-height:1.95;color:#4b524d;margin:0 0 18px}
body.ruvi-storefront .ruvi-promise{max-width:900px;margin:10px auto 0;padding:34px 24px;text-align:center}
body.ruvi-storefront .ruvi-promise__row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
body.ruvi-storefront .ruvi-promise__row div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;background:var(--ruvi-ivory);border:1px solid var(--ruvi-line);border-radius:12px}
body.ruvi-storefront .ruvi-promise__row i{font-size:30px;color:var(--ruvi-gold)}
body.ruvi-storefront .ruvi-promise__row strong{font-size:15px;font-weight:600;color:#1f2a25}
body.ruvi-storefront .ruvi-promise p{margin:0;font-size:15px;line-height:1.8;color:#4b524d}
body.ruvi-storefront .ruvi-gifting{max-width:760px;margin:30px auto 56px;padding:44px 28px;text-align:center;background:var(--ruvi-ivory);border-radius:18px}
body.ruvi-storefront .ruvi-gifting h2{font-size:38px;margin:12px 0 14px;line-height:1.15}
body.ruvi-storefront .ruvi-gifting p{font-size:16px;line-height:1.85;color:#4b524d;margin:0 auto 10px;max-width:560px}
body.ruvi-storefront .ruvi-gifting .ruvi-gifting__ask{font-family:var(--ruvi-serif,Georgia,serif);font-size:22px;color:#304e44;margin:16px auto 20px}
@media(max-width:860px){
  body.ruvi-storefront .ruvi-founder{grid-template-columns:1fr;gap:28px;padding:36px 20px}
  body.ruvi-storefront .ruvi-founder__card{position:static}
}
@media(max-width:600px){
  body.ruvi-storefront .ruvi-brand{padding:48px 18px 24px}
  body.ruvi-storefront .ruvi-brand__head h2{font-size:34px}
  body.ruvi-storefront .ruvi-brand__body .ruvi-brand__lead{font-size:20px}
  body.ruvi-storefront .ruvi-brand__tagline{font-size:22px}
  body.ruvi-storefront .ruvi-promise__row{grid-template-columns:1fr}
  body.ruvi-storefront .ruvi-gifting h2{font-size:30px}
}

/* ---------- Contact page: shop + map ---------- */
body.ruvi-storefront .ruvi-shop{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:stretch;margin:56px auto}
body.ruvi-storefront .ruvi-shop__info{padding:34px;background:var(--ruvi-ivory);border:1px solid var(--ruvi-line);border-radius:16px;display:flex;flex-direction:column;justify-content:center}
body.ruvi-storefront .ruvi-shop__info h2{font-size:38px;line-height:1.1;margin:12px 0 8px}
body.ruvi-storefront .ruvi-shop__rating{margin:0 0 14px;color:#304e44;font-size:15px}
body.ruvi-storefront .ruvi-shop__rating span{color:#d9a21b;letter-spacing:2px;font-size:17px}
body.ruvi-storefront .ruvi-shop__info address{font-style:normal;font-size:15px;line-height:1.8;color:#4b524d;margin:0 0 22px}
body.ruvi-storefront .ruvi-shop__actions{display:flex;flex-wrap:wrap;gap:10px}
body.ruvi-storefront .ruvi-shop__map{min-height:340px;border-radius:16px;overflow:hidden;border:1px solid var(--ruvi-line);background:#eef2ef}
body.ruvi-storefront .ruvi-shop__map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}
@media(max-width:860px){body.ruvi-storefront .ruvi-shop{grid-template-columns:1fr;margin:36px auto;padding-left:16px;padding-right:16px}body.ruvi-storefront .ruvi-shop__info{padding:26px}body.ruvi-storefront .ruvi-shop__info h2{font-size:32px}}
/* Five visible items in homepage product and occasion rows on desktop. */
@media(min-width:1101px){
 body.ruvi-storefront .section>.grid.carousel-track:has(.ruvi-commerce-card),
 body.ruvi-storefront .section>.occasion-grid.carousel-track{grid-auto-columns:calc((100% - 64px)/5)!important;gap:16px!important}
 body.ruvi-storefront .section>.grid:not(.carousel-track):has(.ruvi-commerce-card),
 body.ruvi-storefront .section>.occasion-grid:not(.carousel-track){grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
}

/* Keep collection jewellery bright; shade only behind the copy. */
body.ruvi-storefront .shop-hero::after {
  background: linear-gradient(90deg, rgba(28,24,19,.64) 0%, rgba(28,24,19,.44) 28%, rgba(28,24,19,.08) 48%, transparent 62%);
  pointer-events: none;
}
body.ruvi-storefront .shop-hero > img { filter: none; opacity: 1; }
@media (max-width:700px) {
  body.ruvi-storefront .shop-hero::after {
    background: linear-gradient(90deg, rgba(28,24,19,.66), rgba(28,24,19,.42) 42%, rgba(28,24,19,.04) 78%, transparent);
  }
}

body.ruvi-storefront .collections-banner>div>p:last-child{max-width:440px}body.ruvi-storefront .collections-banner>img{object-position:center center}@media(max-width:700px){body.ruvi-storefront .collections-banner>img{object-position:65% center}body.ruvi-storefront .collections-banner>div>p:last-child{max-width:270px;font-size:14px}}
