/* RYMONA — cohesive editorial storefront, original static front end */
.ryui{--ink:#302b28;--muted:#776d66;--paper:#fffcf8;--cream:#f8f3ed;--sand:#eee5dc;--rose:#e9d5cd;--rose-dark:#9f756d;--line:#e4dcd3;--clay:#80675a;--deep:#302723;--heading:'Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif;--body:Inter,'Helvetica Neue',Arial,sans-serif;--content:1360px;--pad:clamp(22px,5.2vw,90px)}.ryui *{box-sizing:border-box}.ryui{scroll-behavior:smooth}.ryui{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--body);-webkit-font-smoothing:antialiased}.ryui body.drawer-open{overflow:hidden}.ryui a{color:inherit;text-decoration:none}.ryui button, .ryui input{font:inherit}.ryui button{cursor:pointer}.ryui img, .ryui svg{max-width:100%}.ryui img{display:block}.ryui h1, .ryui h2, .ryui h3, .ryui h4, .ryui p{margin-top:0}.ryui h1, .ryui h2, .ryui h3{font-family:var(--heading);font-weight:400;letter-spacing:-.037em;line-height:1.08}.ryui h1{font-size:clamp(55px,6.6vw,104px)}.ryui h2{font-size:clamp(37px,4vw,67px)}.ryui h3{font-size:clamp(23px,2.45vw,38px)}.ryui p{margin-bottom:1em}.ryui .small-caps, .ryui .eyebrow{font-size:10px;letter-spacing:.22em;font-weight:600;text-transform:uppercase}.ryui .eyebrow{color:var(--clay);margin-bottom:16px}.ryui .subhead{font-family:var(--heading);font-size:clamp(18px,2vw,28px);line-height:1.32}.ryui .muted{color:var(--muted)}.ryui .container{max-width:var(--content);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.ryui .space{padding-block:clamp(65px,8vw,124px)}.ryui .space-sm{padding-block:clamp(48px,5vw,82px)}.ryui .section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}.ryui .section-head h2{margin-bottom:0}.ryui .section-head p{max-width:350px;margin:0;color:var(--muted)}.ryui .line{height:1px;background:var(--line)}.ryui .btn{border:1px solid var(--deep);display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:13px 22px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;min-height:44px;transition:.22s ease;background:transparent;color:var(--ink)}.ryui .btn:hover{background:var(--deep);color:#fff}.ryui .btn-dark{color:#fff;background:var(--deep)}.ryui .btn-dark:hover{background:#655249;border-color:#655249}.ryui .btn-light{background:var(--paper);border-color:var(--paper)}.ryui .btn-light:hover{background:var(--sand);color:var(--ink);border-color:var(--sand)}.ryui .btn-pill{border-radius:60px}.ryui .text-link{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px;display:inline-flex;gap:16px;align-items:center}.ryui .text-link:hover{color:var(--rose-dark)}.ryui .icon{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center}.ryui .icon svg{height:100%;width:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.ryui .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ryui .banner{height:32px;background:var(--deep);color:#fff;text-align:center;display:flex;justify-content:center;align-items:center;font-size:10px;letter-spacing:.07em}.ryui .header{height:83px;background:rgba(255,252,248,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.ryui .nav-wrap{height:100%;max-width:var(--content);padding:0 var(--pad);margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.ryui .brand{font-family:Georgia,serif;letter-spacing:.36em;font-size:27px;line-height:1;white-space:nowrap}.ryui .brand small{display:block;font:600 7px/1.7 var(--body);letter-spacing:.29em;margin-top:10px;text-align:left}.ryui .nav{display:flex;align-items:center;gap:clamp(14px,2.3vw,37px)}.ryui .nav a{font-size:11px;position:relative;white-space:nowrap}.ryui .nav a:after{content:'';height:1px;background:var(--clay);position:absolute;left:0;bottom:-10px;right:100%;transition:right .18s}.ryui .nav a:hover:after, .ryui .nav a.active:after{right:0}.ryui .actions{display:flex;justify-content:flex-end;align-items:center;gap:16px}.ryui .icon-btn{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);padding:6px;position:relative}.ryui .icon-btn:hover{color:var(--rose-dark)}.ryui .count{position:absolute;right:0;top:-3px;background:var(--rose-dark);border-radius:20px;color:white;font-size:8px;width:15px;height:15px;line-height:15px;text-align:center}.ryui .menu-toggle{display:none}.ryui .hero{position:relative;min-height:clamp(520px,50vw,700px);overflow:hidden;background:var(--sand);display:flex;align-items:center}.ryui .hero .hero-img, .ryui .image-panel img, .ryui .photobg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.ryui .hero:after, .ryui .photobg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,25,19,.68),rgba(32,25,19,.22) 49%,rgba(32,25,19,0) 85%);pointer-events:none}.ryui .hero.light:after{background:linear-gradient(90deg,rgba(249,242,233,.95),rgba(247,240,230,.65) 38%,rgba(247,240,230,0) 74%)}.ryui .hero-content{z-index:1;position:relative;width:100%;max-width:var(--content);padding:95px var(--pad);margin:auto;color:#fff}.ryui .hero.light .hero-content{color:var(--ink)}.ryui .hero-content h1{max-width:800px;margin-bottom:18px}.ryui .hero-content p{max-width:410px;font-size:15px;line-height:1.65;margin-bottom:28px}.ryui .hero-content .eyebrow{color:inherit;opacity:.85}.ryui .hero-scribble{position:absolute;z-index:1;right:9%;top:41%;transform:rotate(-11deg);font-family:var(--heading);font-style:italic;font-size:clamp(20px,2.5vw,36px);line-height:1.1;color:#fff;opacity:.86}.ryui .split{display:grid;grid-template-columns:1fr 1fr;min-height:490px}.ryui .split.flip>:first-child{order:2}.ryui .split .image-panel{position:relative;min-height:480px;overflow:hidden;background:var(--sand)}.ryui .split .copy{display:flex;justify-content:center;flex-direction:column;padding:clamp(40px,6vw,110px)}.ryui .split .copy h2{max-width:500px}.ryui .split .copy p{max-width:450px;color:var(--muted)}.ryui .split .copy .text-link{align-self:flex-start;margin-top:22px}.ryui .copy.dark{background:var(--deep);color:white}.ryui .copy.dark p, .ryui .copy.dark .eyebrow{color:#e2d6ce}.ryui .copy.pink{background:#f3e8e2}.ryui .photo-shade:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,22,19,.5),transparent)}.ryui .on-photo{position:absolute;z-index:2;left:9%;top:12%;max-width:380px;color:white}.ryui .on-photo h2{font-size:clamp(36px,4.1vw,58px)}.ryui .on-photo p{font-size:14px}.ryui .feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:34px;padding-bottom:34px}.ryui .feature-item{display:flex;gap:15px;align-items:flex-start}.ryui .feature-item .icon{flex:0 0 28px;width:28px;height:28px;color:var(--clay)}.ryui .feature-item b{display:block;font-size:11px;font-weight:600;line-height:1.6}.ryui .feature-item p{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 0}.ryui .editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ryui .editorial-card{border:1px solid var(--line);background:white;transition:transform .2s}.ryui .editorial-card:hover{transform:translateY(-4px)}.ryui .editorial-card .thumb{aspect-ratio:1.3}.ryui .thumb{display:block;position:relative;overflow:hidden;background:#e8dfd4}.ryui .thumb img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.ryui .thumb:hover img{transform:scale(1.035)}.ryui .editorial-card-body{padding:23px}.ryui .editorial-card h3{font-size:29px;margin:10px 0}.ryui .editorial-card p{color:var(--muted);font-size:12px;min-height:35px}.ryui .editorial-card ul{margin:18px 0 27px;padding-left:15px;font-size:11px}.ryui .editorial-card li{padding:3px 0}.ryui .editorial-card .text-link{font-size:9px}.ryui .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.ryui .product-card{min-width:0}.ryui .product-visual{aspect-ratio: .94;position:relative;overflow:hidden;background:#f2ece5}.ryui .product-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.ryui .product-card:hover img{transform:scale(1.04)}.ryui .badge{position:absolute;top:14px;left:14px;background:var(--paper);font-size:9px;padding:5px 9px;letter-spacing:.05em}.ryui .quick-add{position:absolute;bottom:0;left:0;right:0;background:var(--deep);color:white;text-align:center;padding:11px;border:0;letter-spacing:.12em;text-transform:uppercase;font-size:9px;transform:translateY(100%);transition:transform .2s}.ryui .product-card:hover .quick-add, .ryui .product-card:focus-within .quick-add{transform:translateY(0)}.ryui .product-info{padding:14px 2px 6px}.ryui .product-name{font-family:var(--heading);font-size:20px;line-height:1.2;margin-bottom:4px}.ryui .product-description{font-size:11px;color:var(--muted);margin:0 0 6px}.ryui .product-price{font-size:12px;font-weight:600;margin:0}.ryui .product-dots{display:flex;gap:6px;margin-top:8px}.ryui .product-dots i{width:9px;height:9px;border-radius:50%;background:var(--swatch,#bba996);border:1px solid #c5b5aa}.ryui .collection{padding-block:56px;border-top:1px solid var(--line)}.ryui .collection:first-of-type{border-top:0}.ryui .collection .section-head{margin-bottom:23px}.ryui .collection .section-head h2{font-size:clamp(34px,3.2vw,48px)}.ryui .collection .section-head p{font-size:13px;margin-top:7px}.ryui .intro-banner{display:grid;grid-template-columns:1fr 1.03fr;min-height:390px;background:var(--cream)}.ryui .intro-banner .intro-copy{padding:clamp(35px,5vw,80px) var(--pad);align-self:center}.ryui .intro-banner .intro-copy h1{font-size:clamp(54px,6vw,95px);margin:0 0 14px}.ryui .intro-banner .intro-copy p{max-width:360px}.ryui .intro-banner .image-panel{min-height:350px;position:relative;overflow:hidden}.ryui .intro-banner .image-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ryui .tabs-wrap{position:sticky;top:83px;z-index:20;background:rgba(255,252,248,.96);border-bottom:1px solid var(--line)}.ryui .tabs{display:flex;align-items:center;justify-content:center;gap:clamp(13px,3vw,48px);overflow-x:auto;scrollbar-width:none}.ryui .tabs a{white-space:nowrap;padding:17px 1px;border-bottom:1px solid transparent;font-size:11px;color:var(--muted)}.ryui .tabs a.active, .ryui .tabs a:hover{border-color:var(--deep);color:var(--ink)}.ryui .statement{padding:100px 20px;text-align:center;background:var(--cream)}.ryui .statement h2{max-width:850px;margin:0 auto 25px}.ryui .statement p{max-width:570px;margin:auto;color:var(--muted)}.ryui .product-highlight{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:center}.ryui .product-highlight .product-visual{aspect-ratio:1.12}.ryui .metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:27px 0}.ryui .metric{padding-top:14px;border-top:1px solid var(--line)}.ryui .metric b{display:block;font-size:12px}.ryui .metric p{font-size:11px;color:var(--muted);margin:4px 0}.ryui .ring-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.ryui .ring-colors .product-card{text-align:center}.ryui .ring-colors .product-visual{aspect-ratio:1.15}.ryui .ring-colors .product-name{font-size:22px}.ryui .spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 28px}.ryui .spec-grid>div{border-bottom:1px solid #b2a39a;padding-bottom:14px}.ryui .spec-grid b{display:block;font-size:12px;margin:7px 0}.ryui .spec-grid p{font-size:11px;margin:0;color:#e8dfd8}.ryui .tech-dark{background:var(--deep);color:#fff}.ryui .tech-dark .eyebrow{color:#c6a79a}.ryui .tech-dark h2{margin-bottom:27px}.ryui .tech-dark .split{min-height:610px}.ryui .tech-dark .copy{padding:clamp(35px,5vw,90px)}.ryui .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:35px}.ryui .step{border-top:1px solid #c7ada0;padding-top:20px;position:relative}.ryui .step:before{content:'';position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--rose-dark)}.ryui .step b{font:24px var(--heading);display:block;margin:10px 0}.ryui .step p{font-size:11px;color:var(--muted)}.ryui .cycle{background:var(--deep);color:#fff}.ryui .cycle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.ryui .cycle-card{background:#453834;padding:24px;min-height:230px}.ryui .cycle-card b{font:29px var(--heading);display:block;margin-bottom:13px}.ryui .cycle-card p{font-size:11px;color:#e1d5cf}.ryui .cycle-card .small-caps{color:#d4aaa1}.ryui .full-bleed{position:relative;min-height:385px}.ryui .full-bleed img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.ryui .full-bleed:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,27,23,.6),transparent)}.ryui .full-bleed .overlay{position:relative;z-index:1;max-width:var(--content);margin:auto;padding:65px var(--pad);color:white}.ryui .full-bleed .overlay h2{max-width:550px}.ryui .full-bleed .overlay p{max-width:385px}.ryui .ritual-row{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-bottom:1px solid var(--line)}.ryui .ritual-row>.photobg{min-height:560px;position:relative;background:var(--sand)}.ryui .ritual-row>.photobg>.overlay{position:absolute;z-index:2;color:white;top:10%;left:8%;right:10%;max-width:330px}.ryui .ritual-row>.photobg .eyebrow{color:#f6e5d9}.ryui .ritual-row>.photobg h2{font-size:clamp(36px,3.7vw,56px)}.ryui .ritual-products{padding:50px clamp(20px,4vw,60px);display:flex;justify-content:center;flex-direction:column}.ryui .ritual-products h3{font-size:clamp(27px,3vw,44px)}.ryui .ritual-products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ryui .ritual-products .product-name{font:15px/1.2 var(--heading)}.ryui .ritual-products .product-description{font-size:10px;line-height:1.35}.ryui .ritual-products .product-info{padding:8px 0}.ryui .ritual-products .product-visual{aspect-ratio:.72}.ryui .ritual-products .quick-add{position:static;display:block;transform:none;width:100%;margin-top:9px;font-size:8px;padding:7px 2px}.ryui .story-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,5vw,85px);align-items:center;padding-block:33px}.ryui .story-section .image-panel{height:520px;position:relative;background:var(--sand)}.ryui .story-section .image-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ryui .story-section h2{max-width:520px}.ryui .story-section p{color:var(--muted);font-size:14px;max-width:520px}.ryui .story-section .small-caps{margin-top:30px}.ryui .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ryui .gallery .thumb{aspect-ratio:1.1}.ryui .quote{text-align:center;padding:44px 20px 65px;font:italic clamp(25px,3vw,42px)/1.35 var(--heading)}.ryui .journal-feature{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.ryui .journal-feature .item{display:grid;grid-template-columns:1fr 1fr;min-height:320px}.ryui .journal-feature .item .thumb{height:100%}.ryui .journal-feature .item .body{padding:30px;display:flex;flex-direction:column;justify-content:center}.ryui .journal-feature h3{font-size:clamp(26px,2.5vw,37px)}.ryui .journal-feature p{font-size:12px;color:var(--muted)}.ryui .journal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 20px}.ryui .journal-card .thumb{aspect-ratio:1.65}.ryui .journal-card h3{font-size:27px;margin:8px 0}.ryui .journal-card p{color:var(--muted);font-size:12px}.ryui .journal-card .text-link{font-size:10px}.ryui .subscribe{background:#f0e4dc;padding-block:55px}.ryui .subscribe .inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.ryui .subscribe h2{font-size:clamp(31px,3vw,47px);margin-bottom:6px}.ryui .subscribe p{margin:0;color:var(--muted)}.ryui .signup{display:flex;max-width:420px;width:100%}.ryui .signup input{flex:1;min-width:0;padding:13px;border:1px solid var(--line);border-right:0;background:#fff;font-size:12px}.ryui .signup .btn{white-space:nowrap}.ryui .form-message{font-size:11px;margin-top:10px}.ryui .footer{background:#faf6f0;padding-top:64px}.ryui .footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr) 1.7fr;gap:35px;padding-bottom:65px}.ryui .footer .brand{font-size:28px;display:inline-block;margin-bottom:20px}.ryui .footer small{font-size:10px;color:var(--muted)}.ryui .footer h4{font-size:11px;font-weight:700;margin:0 0 18px}.ryui .footer a:not(.brand){display:block;color:var(--muted);font-size:11px;padding-bottom:9px}.ryui .footer a:hover{color:var(--ink)}.ryui .footer .signup{margin-top:12px}.ryui .footer .signup .btn{padding-inline:13px}.ryui .footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;padding-bottom:23px;font-size:10px;color:var(--muted)}.ryui .modal-backdrop{position:fixed;inset:0;background:rgba(26,21,18,.5);z-index:60;opacity:0;visibility:hidden;transition:.2s}.ryui .modal-backdrop.open{opacity:1;visibility:visible}.ryui .drawer{background:var(--paper);position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(440px,100%);transform:translateX(100%);transition:transform .25s;padding:25px;display:flex;flex-direction:column}.ryui .drawer.open{transform:translateX(0)}.ryui .drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.ryui .drawer-head h3{margin:0}.ryui .drawer-content{overflow:auto;flex:1;padding:25px 0}.ryui .cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:15px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.ryui .cart-item img{width:80px;aspect-ratio:.8;object-fit:cover}.ryui .cart-item p{font-size:12px;margin:5px 0}.ryui .cart-item button{background:none;border:0;text-decoration:underline;color:var(--muted);font-size:10px;padding:0}.ryui .drawer-foot{border-top:1px solid var(--line);padding-top:20px}.ryui .drawer-foot .btn{width:100%}.ryui .search-overlay{position:fixed;inset:0;background:rgba(48,39,35,.97);color:white;z-index:70;padding:clamp(25px,6vw,100px);display:none}.ryui .search-overlay.open{display:block}.ryui .search-overlay input{width:100%;background:none;border:0;border-bottom:1px solid #a59488;padding:17px 0;outline:none;color:white;font:clamp(30px,4vw,65px) var(--heading)}.ryui .search-results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;max-height:60vh;overflow:auto}.ryui .search-results a{display:block;font-size:13px}.ryui .search-results img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:8px}.ryui .search-close{position:absolute;right:5%;top:25px;color:white}.ryui .notice{position:fixed;bottom:20px;left:50%;transform:translate(-50%,140%);background:var(--deep);color:white;padding:14px 23px;z-index:90;font-size:12px;transition:transform .25s;text-align:center;max-width:calc(100vw - 40px)}.ryui .notice.show{transform:translate(-50%,0)}.ryui .article-modal{position:fixed;inset:8vh 10vw;background:var(--paper);z-index:80;display:none;overflow:auto;padding:clamp(25px,5vw,80px)}.ryui .article-modal.open{display:block}.ryui .article-modal h2{max-width:800px}.ryui .article-modal p{max-width:650px;color:var(--muted)}.ryui .article-modal .close{position:absolute;right:22px;top:22px}.ryui .mobile-nav{display:none}.ryui .product-filter-empty{padding:60px;text-align:center}.ryui .crumb{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ryui .product-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:55px}.ryui .product-detail .visual{background:var(--sand);aspect-ratio:1;overflow:hidden}.ryui .product-detail .visual img{width:100%;height:100%;object-fit:cover}.ryui .product-detail p{max-width:470px}.ryui .compare-table{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.ryui .compare-table .product-card{background:white;padding:10px 10px 20px;text-align:center}.ryui .compare-table .product-name{margin-top:15px}.ryui .compare-table .product-visual{aspect-ratio:1.08}.ryui .compare-table p{font-size:11px;color:var(--muted)}.ryui .footer-social{display:flex;gap:14px;margin-top:20px;color:var(--clay)}.ryui .footer-social span{font-size:12px;font-weight:bold}.ryui .mobile-visible{display:none}@media(max-width:1080px){.ryui .nav-wrap{grid-template-columns:auto 1fr auto}.ryui .nav{justify-content:center;gap:15px}.ryui .brand{font-size:21px}.ryui .product-grid{gap:12px}.ryui .product-name{font-size:17px}.ryui .ritual-row{grid-template-columns:1fr}.ryui .ritual-row>.photobg{min-height:425px}.ryui .ritual-products .product-visual{aspect-ratio:1}.ryui .footer-main{grid-template-columns:2fr repeat(3,1fr)}.ryui .footer-main>div:last-child{grid-column:1/-1}.ryui .journal-feature .item{grid-template-columns:1fr}.ryui .journal-feature .item .thumb{aspect-ratio:1.8}.ryui .journal-feature .item .body{padding:22px}}@media(max-width:760px){.ryui{--pad:23px}.ryui .banner{font-size:9px}.ryui .header{height:64px}.ryui .nav-wrap{grid-template-columns:1fr auto}.ryui .brand{font-size:19px}.ryui .brand small{font-size:6px;margin-top:6px}.ryui .nav{display:none}.ryui .menu-toggle{display:inline-flex}.ryui .mobile-nav{display:flex;position:fixed;z-index:33;top:96px;left:0;right:0;bottom:0;background:var(--paper);padding:30px var(--pad);flex-direction:column;gap:19px;transform:translateX(-100%);transition:transform .2s}.ryui .mobile-nav.open{transform:translateX(0)}.ryui .mobile-nav a{font:31px var(--heading);padding:7px 0;border-bottom:1px solid var(--line)}.ryui .hero{min-height:560px;align-items:end}.ryui .hero:after{background:linear-gradient(0deg,rgba(29,24,20,.74),rgba(29,24,20,.02) 90%)}.ryui .hero.light:after{background:linear-gradient(0deg,rgba(250,244,236,.97),rgba(250,244,236,.02) 90%)}.ryui .hero-content{padding-bottom:68px;padding-top:90px}.ryui .hero-content h1{font-size:57px}.ryui .hero-scribble{display:none}.ryui .intro-banner{grid-template-columns:1fr}.ryui .intro-banner .image-panel{min-height:250px;order:-1}.ryui .intro-banner .intro-copy{padding:35px var(--pad) 45px}.ryui .intro-banner .intro-copy h1{font-size:58px}.ryui .tabs-wrap{top:64px}.ryui .tabs{justify-content:flex-start;padding-inline:var(--pad)}.ryui .split, .ryui .story-section{grid-template-columns:1fr}.ryui .split.flip>:first-child{order:initial}.ryui .split .image-panel, .ryui .story-section .image-panel{min-height:355px;height:355px}.ryui .split .copy{padding:54px var(--pad)}.ryui .feature-strip{grid-template-columns:repeat(2,1fr);gap:24px 16px}.ryui .editorial-grid{grid-template-columns:1fr}.ryui .editorial-card .thumb{aspect-ratio:1.45}.ryui .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.ryui .product-card .quick-add{transform:none;position:static;margin-top:7px}.ryui .product-name{font-size:19px}.ryui .ring-colors, .ryui .cycle-grid{grid-template-columns:repeat(2,1fr)}.ryui .product-highlight{grid-template-columns:1fr}.ryui .steps{grid-template-columns:repeat(2,1fr)}.ryui .steps .step:last-child{grid-column:1/-1}.ryui .section-head{align-items:start;flex-direction:column;gap:12px}.ryui .metric-grid{gap:18px}.ryui .ritual-row>.photobg{min-height:380px}.ryui .ritual-products{padding:40px var(--pad)}.ryui .ritual-products .product-grid{grid-template-columns:repeat(2,1fr);gap:17px}.ryui .ritual-products .product-visual{aspect-ratio:1}.ryui .gallery{grid-template-columns:repeat(2,1fr)}.ryui .journal-feature{grid-template-columns:1fr}.ryui .journal-cards{grid-template-columns:1fr 1fr}.ryui .journal-card h3{font-size:23px}.ryui .subscribe .inner{flex-direction:column;align-items:flex-start}.ryui .footer-main{grid-template-columns:repeat(2,1fr);gap:30px}.ryui .footer-main>div:first-child, .ryui .footer-main>div:last-child{grid-column:1/-1}.ryui .footer-bottom{gap:10px}.ryui .search-results{grid-template-columns:repeat(2,1fr)}.ryui .article-modal{inset:0;padding:70px 25px}.ryui .compare-table{grid-template-columns:repeat(2,1fr)}.ryui .product-detail{grid-template-columns:1fr;gap:25px}.ryui .mobile-visible{display:block}}@media(max-width:420px){.ryui .actions{gap:6px}.ryui .feature-strip{grid-template-columns:1fr 1fr}.ryui .feature-item{gap:8px}.ryui .feature-item .icon{width:20px;flex-basis:20px}.ryui .feature-item p{font-size:10px}.ryui .cycle-card{padding:16px;min-height:240px}.ryui .journal-cards{grid-template-columns:1fr}.ryui .hero-content h1{font-size:51px}}@media(prefers-reduced-motion:reduce){.ryui *, .ryui *:before, .ryui *:after{scroll-behavior:auto!important;transition:none!important}}

/* ============================================================
   RYMONA 新 UI 运行层（放在设计稿 CSS 之后，同权重时以后者生效）
   1) 新 UI 页面用自带的公告条/导航/页脚，主题原外壳隐藏
   2) WooCommerce 原生商品循环 -> 设计稿的商品卡
   3) 订阅表单复用 rymona-core 的 newsletter 组件，外观对齐设计稿
   ============================================================ */

/* --- 1. 与主题外壳隔离 --- */
body.ryui .announcement,
body.ryui .site-header,
body.ryui .site-footer,
body.ryui .prefooter { display: none !important; }
body.ryui .site-main { display: block; padding: 0; }
body.ryui .entry-content { padding: 0; margin: 0; max-width: none; }
body.ryui .wp-site-blocks { padding: 0; }
body.ryui { margin: 0; }

/* --- 2. 图片占位：媒体库还没传图时用设计稿自带概念图，按容器裁切 --- */
.ryui .hero .hero-img,
.ryui .image-panel img,
.ryui .photobg img,
.ryui .full-bleed img,
.ryui .thumb > img { width: 100%; height: 100%; object-fit: cover; }

/* --- 3. 商品循环：ul.products -> .product-grid / .product-card --- */
.ryui ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 17px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ryui ul.products li.product,
.ryui .woocommerce ul.products li.product {
  position: relative; min-width: 0; text-align: left;
  /* WooCommerce 自带 ul.products li.product{width:22.05%}（给老式浮动布局的），
     在 grid 里会把卡片压成 61px —— 必须显式放开。 */
  width: auto; max-width: none; margin: 0; float: none;
}
.ryui ul.products li.product .product-visual {
  position: relative; display: block; overflow: hidden;
  aspect-ratio: .94; background: #f2ece5;
}
/* 注意：不要给这些图加 contain-intrinsic-size —— 实测会把图片高度算成 0。
   WordPress 的 auto-sizes（sizes="auto" + contain-intrinsic-size:3000px 1500px）
   会让图片被算成 1500px 高、卡片只露一小条再放大（看着糊），
   已在 inc/ryui-woo.php 里用 wp_img_tag_add_auto_sizes 从源头关掉。 */
.ryui ul.products li.product .product-visual a.product-link { display: block; width: 100%; height: 100%; }
.ryui ul.products li.product img {
  width: 100%; height: 100%; aspect-ratio: auto;
  object-fit: cover; margin: 0; transition: transform .5s ease;
}
.ryui ul.products li.product:hover img { transform: scale(1.04); }
.ryui ul.products li.product .quick-add {
  position: absolute; bottom: 0; left: 0; right: 0; display: block;
  background: var(--deep); color: #fff; text-align: center;
  padding: 11px; border: 0; font-size: 9px; letter-spacing: .12em;
  text-transform: uppercase; transform: translateY(100%); transition: transform .2s;
}
.ryui ul.products li.product:hover .quick-add,
.ryui ul.products li.product:focus-within .quick-add { transform: translateY(0); }
.ryui ul.products li.product .onsale {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  background: var(--paper); color: var(--ink); border-radius: 0;
  font-size: 9px; font-weight: 400; line-height: 1; letter-spacing: .05em;
  padding: 5px 9px; min-height: 0;
}
.ryui ul.products li.product .product-info { padding: 14px 2px 6px; }
.ryui ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--heading); font-size: 20px; font-weight: 400;
  line-height: 1.2; letter-spacing: normal; margin: 0 0 4px;
}
.ryui ul.products li.product .product-description { font-size: 11px; color: var(--muted); margin: 0 0 6px; }
.ryui ul.products li.product .price { display: block; margin: 0; font-size: 12px; font-weight: 600; color: var(--ink); }
.ryui ul.products li.product .price del { opacity: .55; font-weight: 400; }
.ryui ul.products li.product .price ins { text-decoration: none; }

@media (max-width: 1040px) {
  .ryui ul.products { gap: 12px; }
}
@media (max-width: 760px) {
  .ryui ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .ryui ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
  /* 手机端加购按钮走文档流（设计稿本意如此）。
     但设计稿里 .product-visual 有 aspect-ratio + overflow:hidden，而 img 是 height:100%，
     静态按钮会被顶到容器外裁掉 —— 所以把比例挪到图片链接上，容器改为自适应。 */
  .ryui ul.products li.product .product-visual { aspect-ratio: auto; overflow: visible; }
  /* 手机端加购按钮走文档流，所以容器要能被内容撑高：把链接改回普通流并自己带比例 */
  .ryui ul.products li.product .product-visual a.product-link { height: auto; aspect-ratio: .94; overflow: hidden; }
  .ryui ul.products li.product .quick-add { position: static; transform: none; margin-top: 7px; }
}

/* --- 4. 订阅表单（rymona-core 的 newsletter 组件）对齐设计稿 .signup --- */
.ryui .rymona-waitlist-newsletter { width: 100%; max-width: 420px; margin: 0; }
.ryui .rymona-waitlist-newsletter-row { display: flex; align-items: stretch; gap: 0; }
.ryui .rymona-waitlist-newsletter-email {
  flex: 1 1 auto; min-width: 0; padding: 13px;
  border: 1px solid var(--line); border-right: 0;
  background: #fff; color: var(--ink); font-size: 12px;
}
.ryui .rymona-waitlist-newsletter-submit {
  flex: 0 0 auto; min-height: 0; padding: 0 18px;
  background: var(--deep); border: 1px solid var(--deep); color: #fff; font-size: 14px;
}
.ryui .rymona-waitlist-newsletter-submit:hover { background: #655249; border-color: #655249; }
.ryui .rymona-waitlist-newsletter-note { margin: 8px 0 0; font-size: 10px; color: var(--muted); opacity: 1; }
.ryui .rymona-waitlist-newsletter-message { margin: 8px 0 0; font-size: 11px; color: var(--muted); }
.ryui .rymona-waitlist-newsletter-message.is-error { color: #9b2c1e; }
.ryui .rymona-waitlist-newsletter-message.is-success { color: var(--rose-dark); }

/* 页脚那份更轻：贴在浅底上，只用文字箭头 */
.ryui .footer .rymona-waitlist-newsletter { max-width: 260px; }
.ryui .footer .rymona-waitlist-newsletter-row { border-bottom: 1px solid var(--line); }
.ryui .footer .rymona-waitlist-newsletter-email { padding: 9px 0; border: 0; background: transparent; }
.ryui .footer .rymona-waitlist-newsletter-submit {
  padding: 0 5px; border: 0; background: none; color: inherit; font-size: 20px; line-height: 1;
}
.ryui .footer .rymona-waitlist-newsletter-submit:hover { background: none; }
.ryui .footer .rymona-waitlist-newsletter-note { display: none; }

/* --- 5. 订阅按钮文案：表单来自 rymona-core，按钮只印了一个箭头，
       这里把文案补成设计稿的「Subscribe →」（纯标签，不动逻辑） --- */
.ryui .subscribe .rymona-waitlist-newsletter-submit {
	font-size: 0; padding: 0 22px; letter-spacing: .13em; text-transform: uppercase;
}
.ryui .subscribe .rymona-waitlist-newsletter-submit::after {
	content: 'Subscribe \2192'; font-size: 10px;
}
.ryui .subscribe .rymona-waitlist-newsletter-note { display: none; }

/* WooCommerce 给 ul.products 加了 clearfix 伪元素（::before/::after，display:table），
   在 CSS Grid 里伪元素也算一个格子 —— 会让第一行少一格、整体错位。关掉。 */
.ryui ul.products::before,
.ryui ul.products::after { content: none; display: none; }

/* --- 6. 其它页面的商品网格适配 --- */
/* rituals 页：右半边的商品条（设计稿要求紧凑的 4 列 + 8px 间距） */
.ryui .ritual-products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ryui .ritual-products ul.products .woocommerce-loop-product__title { font-size: 15px; }
.ryui .ritual-products ul.products .product-description { font-size: 10px; line-height: 1.35; }
/* products 页：每个合集里的网格，沿用设计稿的 4 列 17px */
.ryui .collection ul.products { gap: 17px; }
/* 内嵌在 .product-grid 容器里的 WooCommerce 列表：让容器本身的 grid 不生效（内容只有它一个） */
.ryui .product-grid { display: block; }
.ryui .product-grid ul.products { margin: 0; }

/* Journal 的两篇主推卡：图片要跟着文字高度撑满（真实摘要比设计稿长，
   靠 height:100% 有时算不出来，改成绝对定位填充，跟设计稿的其它大图一致）。 */
.ryui .journal-feature .item .thumb { position: relative; }
.ryui .journal-feature .item .thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------
   登录后的顶部工具条（WordPress admin bar）是 position:fixed，
   会把吸顶的公告条 / 导航 / 分类条顶进它下面 —— 表现为「上面只显示一半」。
   登录状态下把吸顶位置整体下移它的高度（桌面 32px，≤782px 是 46px）。
   ------------------------------------------------------------ */
body.admin-bar.ryui .header { top: 32px; }
body.admin-bar.ryui .tabs-wrap { top: 115px; }          /* 83 + 32 */
@media screen and (max-width: 782px) {
	body.admin-bar.ryui .header { top: 46px; }
	body.admin-bar.ryui .tabs-wrap { top: 129px; }       /* 83 + 46 */
}

/* --- 7. 政策页正文（Help Centre / Shipping & Returns / Size Guide / Contact / Privacy / Terms） --- */
.ryui .legal-head h1 { font-size: clamp(38px, 4.4vw, 64px); margin-bottom: 16px; }
.ryui .legal-head p { max-width: 620px; font-size: 15px; }
.ryui .legal-body { max-width: 760px; }
.ryui .legal-body h3 { font-size: clamp(20px, 1.8vw, 26px); margin: 36px 0 10px; }
.ryui .legal-body h3:first-child { margin-top: 0; }
.ryui .legal-body p, .ryui .legal-body li { font-size: 14px; line-height: 1.8; color: var(--muted); }
.ryui .legal-body p { margin-bottom: 12px; }
.ryui .legal-body ul { margin: 0 0 14px 18px; padding: 0; }
.ryui .legal-body li { margin-bottom: 7px; }
.ryui .legal-body strong { color: var(--ink); font-weight: 600; }
.ryui .legal-body a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* --- 8. 图片完整显示（HB 09-28 反馈：图的左右被裁掉，"you"的 u 被切一半） ---
   设计稿的 .split / .story-section 里图片面板是固定高度（480/520px），而
   上传的照片大多是 2:1 宽图 → object-fit:cover 会把两边裁掉。
   这里让"照片 + 文字"的面板按图片本身的比例展示（居中），不再裁切。
   ⚠️ .photo-shade（图上盖文字的）保持 cover，因为那是设计要求。 */
.ryui .split { align-items: center; }
.ryui .split .image-panel:not(.photo-shade),
.ryui .story-section .image-panel { min-height: 0; height: auto; background: transparent; }
.ryui .split .image-panel:not(.photo-shade) img,
.ryui .story-section .image-panel img { position: static; width: 100%; height: auto; object-fit: contain; }

/* --- 9. 商品详情页（WooCommerce 原生模板 + 叠加新 UI 规范） --- */
.ryui.single-product .woocommerce-breadcrumb { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:26px 0 16px; }
.ryui.single-product .woocommerce-breadcrumb a { color:var(--muted); }
.ryui.single-product div.product { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,70px); align-items:start; padding-block:26px 10px; }
.ryui.single-product div.product .woocommerce-product-gallery,
.ryui.single-product div.product .summary { float:none !important; width:auto !important; margin:0 !important; }
.ryui.single-product .product_title { font:400 clamp(36px,4.2vw,62px)/1.05 var(--heading); letter-spacing:-.037em; margin:0 0 14px; max-width:620px; }
.ryui.single-product .summary .price { font:600 20px/1.2 var(--body); color:var(--ink); margin:0 0 12px; }
.ryui.single-product .summary .price del { color:var(--muted); font-weight:400; }
.ryui.single-product .woocommerce-product-details__short-description { color:var(--muted); font-size:14px; max-width:460px; }
.ryui.single-product .product_meta { margin-top:20px; font-size:11px; color:var(--muted); }
.ryui.single-product .product_meta a { color:var(--muted); }
/* 规格下拉：旧主题的 select 看不清 → 统一成设计稿的输入框 */
.ryui.single-product .variations { width:100%; border-collapse:separate; margin:0 0 10px; }
.ryui.single-product .variations tr { display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.ryui.single-product .variations th,
.ryui.single-product .variations td { display:block; padding:0 !important; border:0 !important; background:none !important; }
.ryui.single-product .variations th.label { flex:0 0 62px; }
.ryui.single-product .variations th.label label { font:600 11px/1.4 var(--body); letter-spacing:.06em; color:var(--ink); margin:0; }
.ryui.single-product .variations td.value { flex:1; }
.ryui.single-product select { -webkit-appearance:none; appearance:none; width:100%; max-width:280px; padding:12px 38px 12px 14px; border:1px solid var(--line); background-color:#fff; color:var(--ink) !important; font:13px/1.2 var(--body); border-radius:0; background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23302b28' stroke-width='1.4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.ryui.single-product .reset_variations { display:inline-block; margin-top:4px; font-size:10px; color:var(--muted); }
/* 数量框：原来数字看不见 */
.ryui.single-product .quantity { display:inline-flex; align-items:center; }
.ryui.single-product .quantity input.qty { width:78px; height:46px; border:1px solid var(--line); background:#fff; color:var(--ink) !important; text-align:center; font:13px/1 var(--body); padding:0; margin:0; -moz-appearance:textfield; }
.ryui.single-product .quantity input.qty::-webkit-outer-spin-button,
.ryui.single-product .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
/* 加购按钮 */
.ryui.single-product form.cart { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 14px; }
.ryui.single-product .single_add_to_cart_button { min-height:46px; padding:0 30px; border:1px solid var(--deep); background:var(--deep); color:#fff !important; font:700 10px/1 var(--body); letter-spacing:.13em; text-transform:uppercase; border-radius:0; cursor:pointer; }
.ryui.single-product .single_add_to_cart_button:hover { background:#655249; border-color:#655249; }
.ryui.single-product .woocommerce-variation-price,
.ryui.single-product .woocommerce-variation-availability { flex:1 0 100%; font-size:12px; color:var(--muted); margin:0; }
.ryui.single-product .stock { font-size:11px; color:var(--muted); }
/* 详情 / 规格 / 评价 三个标签 */
.ryui.single-product .woocommerce-tabs { clear:both; grid-column:1 / -1; margin-top:50px; }
.ryui.single-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:30px; padding:0; margin:0 0 24px; border-bottom:1px solid var(--line); }
.ryui.single-product .woocommerce-tabs ul.tabs::before,
.ryui.single-product .woocommerce-tabs ul.tabs::after,
.ryui.single-product .woocommerce-tabs ul.tabs li::before,
.ryui.single-product .woocommerce-tabs ul.tabs li::after { display:none !important; content:none !important; }
.ryui.single-product .woocommerce-tabs ul.tabs li { background:none !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; box-shadow:none !important; }
.ryui.single-product .woocommerce-tabs ul.tabs li a { display:block; padding:12px 0; font:700 10px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid transparent; }
.ryui.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--ink); border-bottom-color:var(--deep); }
.ryui.single-product .woocommerce-tabs .panel { padding:0 !important; margin:0 !important; border:0 !important; box-shadow:none !important; }
.ryui.single-product .woocommerce-tabs .panel > h2:first-child { display:none; }
.ryui.single-product .woocommerce-tabs .panel h2 { font-size:clamp(24px,2.4vw,34px); margin:0 0 14px; }
.ryui.single-product .woocommerce-tabs .panel p,
.ryui.single-product .woocommerce-tabs .panel li { color:var(--muted); font-size:13px; }
/* 「Pairs with your ring」（插件输出，原来排版乱） */
.ryui.single-product .rymona-pairs-with-ring { clear:both; grid-column:1 / -1; margin-top:52px; padding-top:32px; border-top:1px solid var(--line); }
.ryui.single-product .rymona-pairs-with-ring-title { font:400 clamp(26px,2.6vw,40px)/1.1 var(--heading); letter-spacing:-.03em; margin:0 0 20px; }
.ryui.single-product .rymona-pairs-with-ring-content { max-width:760px; }
.ryui.single-product .rymona-pairs-with-ring-content > * { margin:0 0 10px; }
.ryui.single-product .rymona-pairs-with-ring-content p,
.ryui.single-product .rymona-pairs-with-ring-content li { color:var(--muted); font-size:13px; line-height:1.8; }
.ryui.single-product .rymona-pairs-with-ring-content strong { color:var(--ink); font-weight:600; }
.ryui.single-product .rymona-pairs-with-ring-content ul { margin:0 0 12px 18px; padding:0; }
.ryui.single-product .rymona-pairs-with-ring-content img { width:100%; max-width:220px; aspect-ratio:.94; object-fit:cover; display:block; }
/* 没填内容就整段隐藏（不要显示一个空框） */
.ryui.single-product .rymona-pairs-with-ring:has(.rymona-pairs-with-ring-content--empty) { display:none; }
.ryui.single-product .rymona-pairs-with-ring:has(.rymona-pairs-with-ring-content:empty) { display:none; }
/* 相关商品 */
.ryui.single-product .related.products,
.ryui.single-product .upsells.products { clear:both; grid-column:1 / -1; margin-top:52px; }
.ryui.single-product .related.products > h2,
.ryui.single-product .upsells.products > h2 { font:400 clamp(28px,3vw,46px)/1.1 var(--heading); letter-spacing:-.03em; margin:0 0 24px; }
/* 卡片上的加购按钮：+ 独立成元素，不再压住文字 */
.ryui ul.products li.product .quick-add { display:flex !important; align-items:center; justify-content:center; gap:7px; white-space:nowrap; }
.ryui .quick-add .plus { font-style:normal; line-height:1; }
@media (max-width: 760px) {
  .ryui.single-product div.product { grid-template-columns:1fr; }
  .ryui.single-product .woocommerce-tabs ul.tabs { gap:18px; overflow-x:auto; }
  .ryui.single-product .rymona-pairs-with-ring-content { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}

/* --- 10. 购物车 / 结账（WooCommerce 原生表格 + 新 UI 规范） --- */
.ryui.woocommerce-cart .woocommerce,
.ryui.woocommerce-checkout .woocommerce { max-width: 1080px; margin: 0 auto; padding: clamp(24px,4vw,54px) var(--pad) 70px; }
.ryui .woocommerce > h1,
.ryui .woocommerce-cart-form + h2,
.ryui .woocommerce h1.entry-title { font:400 clamp(40px,5vw,72px)/1.05 var(--heading); letter-spacing:-.037em; margin:0 0 26px; }
/* 返回购物入口 */
.ryui .ryui-back-link { display:inline-flex; align-items:center; gap:10px; margin:26px 0 18px; font:600 10px/1 var(--body); letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.ryui .ryui-back-link:hover { color:var(--ink); }
/* 明细表 */
.ryui .woocommerce-cart-form table.shop_table { width:100%; border-collapse:collapse; border:0; margin:0 0 26px; }
.ryui .woocommerce-cart-form table.shop_table th { font:600 10px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); background:none; }
.ryui .woocommerce-cart-form table.shop_table td { padding:18px 10px; border-bottom:1px solid var(--line); vertical-align:middle; background:none !important; font-size:13px; }
.ryui .woocommerce-cart-form table.shop_table td.product-thumbnail img { width:78px; height:auto; display:block; }
.ryui .woocommerce-cart-form .product-name a { font-family:var(--heading); font-size:18px; color:var(--ink); }
.ryui .woocommerce-cart-form .product-remove a { color:var(--muted); font-size:16px; text-decoration:none; }
.ryui .woocommerce-cart-form .quantity input.qty { width:66px; height:42px; border:1px solid var(--line); background:#fff; color:var(--ink) !important; text-align:center; font:13px/1 var(--body); }
.ryui .woocommerce-cart-form .actions { padding-top:20px; }
.ryui .woocommerce-cart-form .coupon { display:flex; gap:10px; float:none !important; }
.ryui .woocommerce-cart-form .coupon input[type=text] { border:1px solid var(--line); background:#fff; color:var(--ink); padding:0 14px; height:46px; min-width:190px; }
.ryui .woocommerce-cart-form .actions .button,
.ryui .woocommerce-cart-form .coupon .button,
.ryui .wc-proceed-to-checkout .checkout-button,
.ryui .woocommerce #place_order,
.ryui .woocommerce-form-login .button,
.ryui .woocommerce .button.alt { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 28px; border:1px solid var(--deep); background:var(--deep); color:#fff !important; font:700 10px/1 var(--body) !important; letter-spacing:.13em; text-transform:uppercase; border-radius:0 !important; box-shadow:none !important; }
.ryui .woocommerce .button:hover.alt,
.ryui .woocommerce-cart-form .actions .button:hover,
.ryui .wc-proceed-to-checkout .checkout-button:hover,
.ryui .woocommerce #place_order:hover { background:#655249 !important; border-color:#655249 !important; }
.ryui .woocommerce-cart-form .actions .button[disabled] { opacity:.45; }
/* 右侧合计 */
.ryui .cart-collaterals { display:flex; justify-content:flex-end; margin-top:6px; }
.ryui .cart-collaterals .cart_totals { width:min(430px,100%); float:none; }
.ryui .cart-collaterals .cart_totals > h2 { font:400 clamp(24px,2.4vw,34px)/1.1 var(--heading); letter-spacing:-.03em; margin:0 0 16px; }
.ryui .cart-collaterals table.shop_table { width:100%; border-collapse:collapse; border:1px solid var(--line); }
.ryui .cart-collaterals table.shop_table th,
.ryui .cart-collaterals table.shop_table td { padding:14px 16px; border-bottom:1px solid var(--line); font-size:13px; text-align:left; background:#fff !important; }
.ryui .cart-collaterals table.shop_table tr:last-child th,
.ryui .cart-collaterals table.shop_table tr:last-child td { font-weight:700; font-size:15px; }
.ryui .wc-proceed-to-checkout { padding:18px 0 0; }
.ryui .wc-proceed-to-checkout .checkout-button { width:100%; }
.ryui .woocommerce-shipping-destination,
.ryui .woocommerce-shipping-calculator { font-size:12px; color:var(--muted); }
.ryui .woocommerce-message, .ryui .woocommerce-info, .ryui .woocommerce-error { border:1px solid var(--line); border-top:0; background:var(--cream); color:var(--ink); padding:14px 18px; font-size:12px; list-style:none; margin:0 0 18px; }
.ryui .woocommerce-error { background:#fdf1f0; }
.ryui .cart-empty.woocommerce-info { font-size:14px; }
.ryui .return-to-shop { margin-top:16px; }
@media (max-width: 760px) {
  .ryui .cart-collaterals { justify-content:stretch; }
  .ryui .cart-collaterals .cart_totals { width:100%; }
}

/* --- 11. 我的账户（WooCommerce 原生 + 新 UI 规范） --- */
.ryui.woocommerce-account .woocommerce { max-width:1080px; margin:0 auto; padding:clamp(24px,4vw,52px) var(--pad) 70px; }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation { float:none !important; width:auto !important; }
.ryui.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:auto !important; }
.ryui.woocommerce-account .woocommerce { display:grid; grid-template-columns:220px 1fr; gap:clamp(26px,4vw,60px); align-items:start; }
.ryui.woocommerce-account .woocommerce > h2,
.ryui.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column:1 / -1; }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--line); margin:0; }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:13px 0; font:600 10px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color:var(--ink); }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color:var(--ink); }
.ryui.woocommerce-account .woocommerce-MyAccount-content p { color:var(--muted); font-size:13px; line-height:1.8; max-width:640px; }
.ryui.woocommerce-account .woocommerce-MyAccount-content a { text-decoration:underline; text-underline-offset:3px; }
.ryui.woocommerce-account .woocommerce-MyAccount-content h2,
.ryui.woocommerce-account .woocommerce-MyAccount-content h3 { font:400 clamp(24px,2.6vw,38px)/1.1 var(--heading); letter-spacing:-.03em; margin:0 0 16px; }
.ryui.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { max-width:420px; border:1px solid var(--line); padding:22px; background:#fff; }
.ryui.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address { font-style:normal; color:var(--muted); font-size:13px; line-height:1.8; margin:10px 0 0; }
.ryui.woocommerce-account table.shop_table { width:100%; border-collapse:collapse; font-size:13px; }
.ryui.woocommerce-account table.shop_table th { font:600 10px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); }
.ryui.woocommerce-account table.shop_table td { padding:14px 10px; border-bottom:1px solid var(--line); }
.ryui.woocommerce-account form.login,
.ryui.woocommerce-account form.register,
.ryui.woocommerce-account form.edit-account { max-width:520px; border:1px solid var(--line); background:#fff; padding:clamp(22px,3vw,34px); border-radius:0; }
.ryui.woocommerce-account form p { margin-bottom:14px; }
.ryui.woocommerce-account label { display:block; font:600 10px/1.6 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.ryui.woocommerce-account input[type=text], .ryui.woocommerce-account input[type=email],
.ryui.woocommerce-account input[type=password], .ryui.woocommerce-account input[type=tel] { width:100%; height:46px; border:1px solid var(--line); background:#fff; color:var(--ink); padding:0 14px; font:13px/1 var(--body); border-radius:0; }
.ryui.woocommerce-account .woocommerce-form-login__rememberme { text-transform:none; letter-spacing:0; font-size:12px; }
.ryui.woocommerce-account .woocommerce-Button,
.ryui.woocommerce-account button.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 28px; border:1px solid var(--deep); background:var(--deep); color:#fff !important; font:700 10px/1 var(--body); letter-spacing:.13em; text-transform:uppercase; border-radius:0; cursor:pointer; }
@media (max-width: 760px) {
  .ryui.woocommerce-account .woocommerce { grid-template-columns:1fr; }
}

/* --- 12. 收尾修正（HB 09-29 反馈） --- */

/* 12.1 卡片上的「ADD TO BAG」改成常显在信息下方（原来是悬停浮在图片底部，看着乱）
   与「Rituals」页的卡片保持一致；悬停不再出现遮罩按钮。 */
.ryui ul.products li.product .quick-add {
  position: static !important;
  transform: none !important;
  width: 100%;
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 9px;
}

/* 12.2 购物车：优惠券 + 更新购物车 排成一行（左边券、右边更新），不再挤成一团 */
.ryui .woocommerce-cart-form td.actions { padding-top: 22px; }
.ryui .woocommerce-cart-form td.actions::after { display: none; content: none; }
.ryui .woocommerce-cart-form td.actions > .coupon,
.ryui .woocommerce-cart-form td.actions > button,
.ryui .woocommerce-cart-form td.actions > .button { float: none !important; }
.ryui .woocommerce-cart-form td.actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.ryui .woocommerce-cart-form td.actions .coupon { display: flex; align-items: center; gap: 0; margin: 0; }
.ryui .woocommerce-cart-form td.actions .coupon label { display: none; }
.ryui .woocommerce-cart-form td.actions .coupon input[type=text] {
  height: 46px;
  border: 1px solid var(--line);
  border-right: 0;
  background: #fff;
  color: var(--ink);
  padding: 0 14px;
  min-width: 200px;
  font: 13px/1 var(--body);
}
.ryui .woocommerce-cart-form td.actions .coupon .button { border-radius: 0 !important; }
.ryui .woocommerce-cart-form td.actions > button.button { margin-left: auto; }
/* 表格列宽收紧（原来左侧留了一大块空） */
.ryui .woocommerce-cart-form table.shop_table .product-remove { width: 26px; }
.ryui .woocommerce-cart-form table.shop_table .product-thumbnail { width: 104px; }
.ryui .woocommerce-cart-form table.shop_table .product-price,
.ryui .woocommerce-cart-form table.shop_table .product-subtotal { width: 110px; text-align: right; }
.ryui .woocommerce-cart-form table.shop_table .product-quantity { width: 96px; text-align: center; }
.ryui .woocommerce-cart-form table.shop_table thead th.product-price,
.ryui .woocommerce-cart-form table.shop_table thead th.product-subtotal,
.ryui .woocommerce-cart-form table.shop_table thead th.product-quantity { text-align: right; }
.ryui .woocommerce-cart-form table.shop_table thead th.product-quantity { text-align: center; }
@media (max-width: 760px) {
  .ryui .woocommerce-cart-form td.actions { flex-direction: column; align-items: stretch; }
  .ryui .woocommerce-cart-form td.actions .coupon { width: 100%; }
  .ryui .woocommerce-cart-form td.actions .coupon input[type=text] { flex: 1; min-width: 0; }
  .ryui .woocommerce-cart-form td.actions > button.button { margin-left: 0; }
}

/* --- 13. 首页戒指段的「几种颜色」小圆点（原来是写死的 ● 字符，没颜色，看着像乱码） --- */
.ryui .finish-dots { display:inline-flex; align-items:center; gap:4px; vertical-align:middle; margin-right:6px; }
.ryui .finish-dots i { width:8px; height:8px; border-radius:50%; background:var(--swatch,#c9b8a8); border:1px solid rgba(0,0,0,.06); display:block; }

/* --- 14. 搜索浮层重做（HB：原来整屏深色、输入框巨大、盖住整页） --- */
.ryui .search-overlay {
  position: fixed; inset: 0; z-index: 70;
  display: none;
  padding: 0;
  background: rgba(32, 25, 19, .30);   /* 轻遮罩：仍能看见下面的页面 */
  color: var(--ink);
}
.ryui .search-overlay.open { display: block; }
.ryui .search-overlay form {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  margin: 0;
  padding: 24px clamp(22px, 5.2vw, 90px) 22px;
}
.ryui .search-overlay input[type=search],
.ryui .search-overlay input[name=s] {
  width: 100%;
  max-width: 720px;
  display: block;
  margin: 0 auto;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 8px 0 10px;
  outline: none;
  color: var(--ink);
  font: clamp(18px, 2vw, 26px)/1.3 var(--heading);
  letter-spacing: -.02em;
}
.ryui .search-overlay input::placeholder { color: var(--muted); }
.ryui .search-overlay .search-close { position: absolute; right: clamp(20px, 5vw, 84px); top: 26px; color: var(--ink); }
.ryui .search-overlay > p { display: none; }   /* 那行提示不要了，免得压在遮罩上 */
/* 点遮罩关闭：光标提示一下 */
.ryui .search-overlay { cursor: pointer; }
.ryui .search-overlay form, .ryui .search-overlay form * { cursor: auto; }

/* --- 15. 我的账户：未登录（登录/注册）重排（HB：两栏被挤成竖条、标题叠在一起） --- */
/* 默认单列；只有「已登录（有左侧菜单）」才用 220px+1fr 的两列布局 */
.ryui.woocommerce-account .woocommerce { display: block; }
.ryui.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: clamp(26px, 4vw, 60px);
  align-items: start;
}
/* WooCommerce 原生是 float 布局的 .col2-set，这里改成规整的双列网格 */
.ryui.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(22px, 3.5vw, 48px);
  align-items: start;
}
.ryui.woocommerce-account #customer_login::before,
.ryui.woocommerce-account #customer_login::after { display: none !important; content: none !important; }
.ryui.woocommerce-account #customer_login > div {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid var(--line);
  padding: clamp(22px, 3vw, 34px);
}
.ryui.woocommerce-account #customer_login h2 {
  float: none !important;
  width: auto !important;
  clear: both;
  font: 400 clamp(24px, 2.6vw, 36px)/1.1 var(--heading);
  letter-spacing: -.03em;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}
/* 卡片已在外层，内部表单不要再套一层框 */
.ryui.woocommerce-account #customer_login form.login,
.ryui.woocommerce-account #customer_login form.register,
.ryui.woocommerce-account #customer_login .woocommerce-form {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.ryui.woocommerce-account #customer_login .form-row { margin: 0 0 14px; float: none; }
.ryui.woocommerce-account #customer_login .form-row label { display: block; margin-bottom: 6px; }
.ryui.woocommerce-account #customer_login .form-row input.input-text { width: 100%; }
.ryui.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
  display: flex; align-items: center; gap: 8px;
  text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--muted);
}
.ryui.woocommerce-account #customer_login .woocommerce-LostPassword { margin-top: 14px; }
.ryui.woocommerce-account #customer_login .button { margin-top: 4px; }
/* 浏览器自动填充的黄底改成正常底色 */
.ryui.woocommerce-account input:-webkit-autofill,
.ryui.woocommerce-account input:-webkit-autofill:hover,
.ryui.woocommerce-account input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: var(--ink) !important;
  transition: background-color 9999s ease-in-out 0s;
}
@media (max-width: 860px) {
  .ryui.woocommerce-account #customer_login { grid-template-columns: 1fr; }
}

/* --- 16. 我的账户「已登录」页修正（HB：左边一大块空、菜单跑到右边、内容被挤成一条） ---
   ⚠️ WooCommerce 的 DOM 顺序是「内容在前、菜单在后」（跟直觉相反），
   而我上一版按「菜单在前」排格子 → 两侧反了：内容只拿到 220px，菜单占了整条宽 ✓ */
.ryui.woocommerce-account .woocommerce-MyAccount-navigation,
.ryui.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  clear: none !important;
}
.ryui.woocommerce-account .woocommerce-MyAccount-navigation { order: 1; }   /* 菜单在左 */
.ryui.woocommerce-account .woocommerce-MyAccount-content { order: 2; }      /* 内容在右 */
.ryui.woocommerce-account .woocommerce-MyAccount-navigation ul { width: 100%; }
.ryui.woocommerce-account .woocommerce-MyAccount-navigation li { width: 100%; }
.ryui.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
.ryui.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { margin-top: 0; }
/* 「Hello xxx (not xxx? Log out)」这类提示条也统一成设计稿样式 */
.ryui.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  background: var(--cream);
  border: 1px solid var(--line);
  padding: 14px 18px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 22px;
}
.ryui.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a { color: var(--ink); }

/* --- 17. 结账页「条款与条件」不再被吸顶导航挡住（HB 09-30 反馈） --- */
/* WC 的条款弹窗（prettyPhoto / modal）层级拉到导航之上 */
.ryui .woocommerce-terms-and-conditions-wrapper,
.ryui #terms,
.ryui .pp_pic_holder,
.ryui .pp_overlay,
.ryui div.pp_pic_holder { z-index: 99999 !important; }
/* 弹窗打开时把吸顶导航降下去，避免视觉上叠在一起 */
.ryui body.pp_open .header,
.ryui body.modal-open .header { z-index: 1 !important; }

/* --- 18. 订单完成页的返回按钮（HB 09-30 反馈：出来回不到主界面） --- */
.ryui .ryui-thankyou-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin: 34px 0 60px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
@media (max-width: 760px) {
  .ryui .ryui-thankyou-actions { gap: 16px; }
  .ryui .ryui-thankyou-actions .btn { width: 100%; }
}

/* --- 19. 关掉 WooCommerce 自带的「迷你购物车抽屉」（HB 09-30：点购物袋没反应） ---
   原因：AJAX 加购后 WooCommerce 会弹出它自己的购物小抽屉，那个抽屉在本主题里显示不正常、
   关不掉，会留下一个透明遮罩盖住整页 → 之后所有点击都失效（含购物袋）。
   我们用自己的购物袋图标（直接跳 /cart/ 页面），所以把 WooCommerce 那套整个禁用。 */
.ryui .wc-block-mini-cart,
.ryui .wc-block-mini-cart__drawer,
.ryui .wc-block-mini-cart__button,
.ryui .wc-block-components-drawer,
.ryui .wc-block-components-screen,
.ryui .wc-block-components-drawer__close-button {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* 兜底：万一还有残留遮罩，不让它拦截点击 */
.ryui .wc-block-components-screen { opacity: 0 !important; }

/* --- 20. 购物车页重排（HB 09-30：太丑 → 按大牌独立站风格：左商品列表 + 右订单摘要卡） --- */

/* 20.1 骨架：两栏（商品列表 | 摘要卡） */
.ryui .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(26px, 4vw, 64px);
  align-items: start;
  padding-block: clamp(26px, 3.4vw, 50px) 72px;
}
.ryui .woocommerce > * { grid-column: 1 / -1; }
.ryui .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.ryui .woocommerce > .cart-collaterals { grid-column: 2; }
.ryui .woocommerce > .woocommerce-message,
.ryui .woocommerce > .woocommerce-info,
.ryui .woocommerce > .woocommerce-error { grid-column: 1 / -1; }

/* 20.2 商品表 → 去掉"老表格"感，做成一行一件的清单 */
.ryui table.shop_table.cart,
.ryui table.shop_table.cart tbody,
.ryui table.shop_table.cart tr,
.ryui table.shop_table.cart td { background: none !important; }
.ryui table.shop_table.cart { width: 100%; border: 0 !important; border-collapse: collapse; margin-bottom: 26px; }
.ryui table.shop_table.cart thead { display: none; }   /* 大牌不显示表头，靠内容自明 */
.ryui table.shop_table.cart td {
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  padding: 22px 12px 22px 0 !important;
  vertical-align: middle !important;
  font-size: 13px;
}
.ryui table.shop_table.cart .product-remove { width: 34px; padding-right: 0 !important; }
.ryui table.shop_table.cart .product-thumbnail { width: 106px; padding-right: 20px !important; }
.ryui table.shop_table.cart .product-thumbnail img { width: 86px; height: 108px; object-fit: cover; display: block; }
.ryui table.shop_table.cart .product-name { font: 400 19px/1.25 var(--heading); letter-spacing: -.01em; }
.ryui table.shop_table.cart .product-name a { color: var(--ink); }
.ryui table.shop_table.cart .product-name dl.variation { margin: 6px 0 0; font: 11px var(--body); color: var(--muted); }
.ryui table.shop_table.cart .product-name dl.variation dd { margin: 0; }
.ryui table.shop_table.cart .product-price { width: 84px; color: var(--muted); white-space: nowrap; }
.ryui table.shop_table.cart .product-quantity { width: 104px; }
.ryui table.shop_table.cart .product-subtotal { width: 88px; font-weight: 600; text-align: right; white-space: nowrap; }
.ryui table.shop_table.cart .quantity input.qty {
  width: 68px; height: 44px; border: 1px solid var(--line); background: #fff; color: var(--ink);
  text-align: center; font: 13px var(--body); border-radius: 0;
}
/* 移除按钮：低调的灰 × */
.ryui table.shop_table.cart .product-remove a.remove {
  color: var(--muted) !important; font-size: 17px; line-height: 1; display: inline-block;
  width: 26px; height: 26px; border-radius: 50%; text-align: center;
}
.ryui table.shop_table.cart .product-remove a.remove:hover { background: var(--sand); color: var(--ink) !important; }

/* 20.3 优惠券 + 更新购物车：排成一行，不要堆一坨 */
.ryui table.shop_table.cart td.actions {
  border-top: 1px solid var(--line) !important;
  padding: 24px 0 0 !important;
}
.ryui table.shop_table.cart td.actions::before,
.ryui table.shop_table.cart td.actions::after { display: none !important; content: none !important; }
.ryui table.shop_table.cart td.actions {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.ryui table.shop_table.cart td.actions .coupon {
  display: flex !important; float: none !important; align-items: center; gap: 0; margin: 0 !important;
}
.ryui table.shop_table.cart td.actions .coupon label { display: none; }
.ryui table.shop_table.cart td.actions .coupon input#coupon_code {
  height: 46px; min-width: 210px; border: 1px solid var(--line); border-right: 0; background: #fff;
  color: var(--ink); padding: 0 14px; font: 13px var(--body); border-radius: 0;
}
.ryui table.shop_table.cart td.actions .button {
  min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
  padding: 0 22px; border: 1px solid var(--deep) !important; background: transparent; color: var(--ink) !important;
  font: 700 10px/1 var(--body); letter-spacing: .13em; text-transform: uppercase; border-radius: 0 !important;
}
.ryui table.shop_table.cart td.actions .coupon .button { background: var(--deep) !important; color: #fff !important; }
.ryui table.shop_table.cart td.actions > button.button { float: none !important; margin-left: auto; }

/* 20.4 右侧：订单摘要卡 */
.ryui .cart-collaterals { width: 100% !important; float: none !important; }
.ryui .cart_totals { float: none !important; width: 100% !important; }
.ryui .cart_totals > h2 {
  font: 600 11px/1 var(--body) !important; letter-spacing: .18em; text-transform: uppercase;
  color: var(--muted); margin: 0 0 14px !important;
}
.ryui .cart_totals > h2::after { content: ''; display: block; height: 1px; background: var(--line); margin-top: 14px; }
.ryui .cart_totals table.shop_table {
  width: 100%; border: 1px solid var(--line) !important; background: #fff; border-collapse: collapse; margin: 0 0 18px;
}
.ryui .cart_totals table.shop_table th,
.ryui .cart_totals table.shop_table td {
  border: 0 !important; border-top: 1px solid var(--line) !important; padding: 15px 18px !important;
  font-size: 12.5px; color: var(--muted); text-align: left; vertical-align: top;
}
.ryui .cart_totals table.shop_table tr:first-child th,
.ryui .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
.ryui .cart_totals table.shop_table td { color: var(--ink); text-align: right; }
.ryui .cart_totals table.shop_table .cart-subtotal td,
.ryui .cart_totals table.shop_table .order-total td { font-weight: 600; }
.ryui .cart_totals table.shop_table .order-total th,
.ryui .cart_totals table.shop_table .order-total td { font-size: 15px; color: var(--ink); }
.ryui .cart_totals table.shop_table .order-total td { font: 400 22px/1 var(--heading); }
.ryui .shipping-calculator-button svg,
.ryui .cart_totals .woocommerce-shipping-totals svg,
.ryui .cart_totals img { display: none !important; }
.ryui .shipping-calculator-button { color: var(--muted); text-decoration: underline; text-underline-offset: 3px; font-size: 12px; }

/* 20.5 结账按钮：通栏、深色 */
.ryui .wc-proceed-to-checkout { padding: 0 !important; }
.ryui .wc-proceed-to-checkout a.checkout-button {
  width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center;
  background: var(--deep) !important; color: #fff !important; border-radius: 0 !important;
  font: 700 11px/1 var(--body) !important; letter-spacing: .16em; text-transform: uppercase;
}
.ryui .wc-proceed-to-checkout a.checkout-button:hover { background: #655249 !important; }

/* 20.6 空购物车 */
.ryui .cart-empty { text-align: center; font: 400 clamp(24px,2.6vw,36px)/1.2 var(--heading); padding: 40px 0 10px; }
.ryui .return-to-shop { text-align: center; padding-bottom: 30px; }
.ryui .return-to-shop a.button {
  min-height: 50px; display: inline-flex; align-items: center; padding: 0 30px;
  background: var(--deep) !important; color: #fff !important; border-radius: 0 !important;
  font: 700 10px/1 var(--body) !important; letter-spacing: .14em; text-transform: uppercase;
}

/* 20.7 窄屏回落单列 */
@media (max-width: 900px) {
  .ryui .woocommerce { grid-template-columns: 1fr; }
  .ryui .woocommerce > .woocommerce-cart-form,
  .ryui .woocommerce > .cart-collaterals { grid-column: 1; }
  .ryui table.shop_table.cart .product-thumbnail { width: 84px; padding-right: 12px !important; }
  .ryui table.shop_table.cart .product-thumbnail img { width: 68px; height: 86px; }
  .ryui table.shop_table.cart .product-price { display: none; }
}

/* --- 21. 功能页的氛围横幅（购物车 / 我的账户）——图片 + 渐变蒙版 + 白字标题 --- */
.ryui .ryui-page-banner {
  position: relative;
  height: clamp(170px, 20vw, 280px);
  overflow: hidden;
  background: var(--sand);
  margin: 0 0 clamp(24px, 3.4vw, 46px);
}
.ryui .ryui-page-banner__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 40%;
}
.ryui .ryui-page-banner__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(32,25,19,.66) 0%, rgba(32,25,19,.28) 55%, rgba(32,25,19,.02) 100%);
}
.ryui .ryui-page-banner__inner {
  position: relative; z-index: 1; height: 100%;
  display: flex; align-items: center;
  padding: 0 clamp(22px, 5.2vw, 90px);
  max-width: var(--content); margin: 0 auto;
  width: 100%;
}
.ryui .ryui-page-banner h1 {
  color: #fff; margin: 0;
  font: 400 clamp(32px, 4.2vw, 62px)/1.05 var(--heading);
  letter-spacing: -.035em;
}
/* 空购物车配图 */
.ryui .ryui-empty-art { max-width: 460px; margin: 0 auto 26px; overflow: hidden; }
.ryui .ryui-empty-art img { width: 100%; height: auto; object-fit: cover; display: block; }
@media (max-width: 760px) {
  .ryui .ryui-page-banner { height: 150px; }
  .ryui .ryui-empty-art { max-width: 100%; }
}

/* --- 22. 购物车再修（HB 09-30 10:13：图太小/金额不明显/券缺边框/两栏比例） --- */

/* 22.1 两栏比例：左侧多给一点 */
.ryui .woocommerce .woocommerce-cart-form { min-width: 0; }
.ryui .cart-collaterals { min-width: 0; }
@media (min-width: 901px) {
  .ryui .woocommerce { grid-template-columns: minmax(0, 1fr) 310px !important; gap: clamp(22px, 3vw, 44px) !important; }
}

/* 22.2 表格改固定布局 —— 这样我设的列宽才真的生效（原来图被压成 28px） */
.ryui table.shop_table.cart { table-layout: fixed !important; }
.ryui table.shop_table.cart td.product-remove { width: 30px !important; }
.ryui table.shop_table.cart td.product-thumbnail { width: 112px !important; padding-right: 18px !important; }
.ryui table.shop_table.cart td.product-thumbnail img {
  width: 96px !important; height: 120px !important;
  max-width: none !important; object-fit: cover; display: block;
}
.ryui table.shop_table.cart td.product-name { width: auto !important; padding-right: 16px !important; }
.ryui table.shop_table.cart td.product-name a { font: 400 19px/1.3 var(--heading); }
.ryui table.shop_table.cart td.product-price { width: 92px !important; }
.ryui table.shop_table.cart td.product-quantity { width: 108px !important; }
.ryui table.shop_table.cart td.product-subtotal { width: 104px !important; }

/* 22.3 金额更明显 */
.ryui table.shop_table.cart td.product-price .amount,
.ryui table.shop_table.cart td.product-price { font-size: 14px !important; font-weight: 600 !important; color: var(--ink) !important; }
.ryui table.shop_table.cart td.product-subtotal,
.ryui table.shop_table.cart td.product-subtotal .amount { font-size: 16px !important; font-weight: 700 !important; color: var(--ink) !important; }
.ryui .cart_totals table.shop_table .cart-subtotal td .amount { font-weight: 700; }
.ryui .cart_totals table.shop_table .order-total td .amount { font: 400 26px/1 var(--heading); }

/* 22.4 数量框大一点、别那么挤 */
.ryui table.shop_table.cart .quantity input.qty {
  width: 78px !important; height: 46px !important; font-size: 14px !important; padding: 0 6px;
}

/* 22.5 优惠券：输入框给完整边框（不再跟按钮连体，避免"缺一条边"的观感） */
.ryui table.shop_table.cart td.actions { flex-wrap: nowrap !important; }
.ryui table.shop_table.cart td.actions .coupon { gap: 0 !important; }
.ryui table.shop_table.cart td.actions .coupon input#coupon_code {
  border: 1px solid var(--line) !important;
  border-right: 1px solid var(--line) !important;
  width: 190px; min-width: 0 !important;
}
.ryui table.shop_table.cart td.actions .button { white-space: nowrap; }
@media (max-width: 1100px) {
  .ryui table.shop_table.cart td.actions { flex-wrap: wrap !important; }
}

/* --- 23. 购物车「优惠券」那一行对齐修正（HB 09-30 10:16：错位很别扭） --- */
/* 输入框和「应用」按钮同高、同一基线、间距 8px；整行竖直居中 */
.ryui table.shop_table.cart td.actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  padding-top: 26px !important;
}
.ryui table.shop_table.cart td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  float: none !important;
  margin: 0 !important;
}
.ryui table.shop_table.cart td.actions .coupon label { display: none !important; }
.ryui table.shop_table.cart td.actions .coupon input#coupon_code {
  height: 46px !important;
  width: 208px !important;
  min-width: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 0 14px !important;
  font: 13px/1 var(--body) !important;
  color: var(--ink) !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.ryui table.shop_table.cart td.actions .coupon .button {
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  background: var(--deep) !important;
  color: #fff !important;
  border: 1px solid var(--deep) !important;
  font: 700 10px/1 var(--body) !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 更新购物车：由 JS 在有 JS 时隐藏；这里先弱化样式（兜底时也不难看） */
.ryui table.shop_table.cart td.actions > button.button,
.ryui table.shop_table.cart td.actions > .button[name="update_cart"],
.ryui table.shop_table.cart td.actions > #update_cart {
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  margin-left: auto !important;
  background: transparent !important;
  color: var(--muted) !important;
  border: 1px solid var(--line) !important;
  font: 600 10px/1 var(--body) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

/* --- 24. 结账页：条款弹窗不再被吸顶导航挡住（HB 09-30 10:37 又反馈） ---
   根因：导航是 sticky + 有 z-index，而 WooCommerce 的条款弹窗层级比它低 ✗
   最稳的修法：不去猜弹窗的层级，直接把「导航」摁到最下面 ✓ */
.ryui.woocommerce-checkout .header,
.ryui.woocommerce-cart .header { z-index: 1 !important; }
/* 兜底：常见弹窗容器一律拉到最上层（只列具体类名，不用通配，避免误伤） */
.ryui.woocommerce-checkout .pp_pic_holder,
.ryui.woocommerce-checkout .pp_overlay,
.ryui.woocommerce-checkout .pp_content_container,
.ryui.woocommerce-checkout #terms,
.ryui.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.ryui.woocommerce-checkout .wc-terms-and-conditions,
.ryui.woocommerce-checkout .wc-block-components-modal,
.ryui.woocommerce-checkout .components-modal__screen-overlay {
  z-index: 999999 !important;
}

/* --- 25. 按钮改为「收窄胶囊」（HB 09-30 16:16 选方案 C） ---
   原来：通栏（100% 宽）深色块 —— 视觉太重，跟设计稿的轻量调子不搭 ✗
   现在：保留深色底，但**收窄成胶囊 + 居中**。
   生效范围：商品卡片（首页网格 / 商店页 / 分类页）+ 我的账户（订单列表 VIEW/TRACK、
   登录注册、账户资料保存）。
   ⚠️ 只改样式，不动标记和功能；结账页的 Place order 大按钮**保持通栏**不动。 */
.ryui .quick-add,
.ryui.woocommerce-account button.button,
.ryui.woocommerce-account a.button,
.ryui .woocommerce-orders-table__cell-order-actions .button,
.ryui .woocommerce-orders-table__cell-order-actions a.button,
.ryui #customer_login .button,
.ryui .woocommerce-form-login .button,
.ryui .woocommerce-form-register .button,
.ryui.woocommerce-account .woocommerce-MyAccount-content .button {
  display: flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 34px !important;
  height: auto !important;
  margin: 7px auto 5px !important;
  padding: 8px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--deep) !important;
  color: #fff !important;
  font: 500 10px/1.1 var(--body) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transition: background .18s ease;
}
/* 悬停：比原来稍亮一点，有反馈 */
.ryui .quick-add:hover,
.ryui.woocommerce-account button.button:hover,
.ryui.woocommerce-account a.button:hover,
.ryui .woocommerce-orders-table__cell-order-actions .button:hover {
  background: #655249 !important;
  color: #fff !important;
}
/* 卡片里那个 "+" 跟文字同基线 */
.ryui .quick-add .plus {
  font-style: normal;
  line-height: 1;
}
/* 窄屏：继续居中，不撑满整行 */
@media (max-width: 782px) {
  .ryui .quick-add,
  .ryui.woocommerce-account button.button,
  .ryui.woocommerce-account a.button {
    padding: 8px 18px !important;
  }
}
