:root{--grem-purple:#74326f;--grem-purple-dark:#552151;--grem-ink:#28201f;--grem-cream:#fbf7f2;--grem-sand:#efe5dc;--grem-line:#e8ddd6;--grem-white:#fffdfa;--grem-sage:#88937a}*{box-sizing:border-box}html{scroll-behavior:smooth}body.grem-preview-body{margin:0;color:var(--grem-ink);background:var(--grem-cream);font-family:Poppins,Arial,sans-serif}.grem-site-shell{min-height:100vh;background:var(--grem-white)}.grem-stage-note{position:fixed;right:12px;bottom:12px;z-index:999;background:#171717;color:white;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:600;box-shadow:0 8px 25px rgba(0,0,0,.2)}.grem-topbar{height:34px;background:var(--grem-purple);color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px}.grem-topbar i{width:1px;height:14px;background:rgba(255,255,255,.5)}.grem-header{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;border-bottom:1px solid rgba(116,50,111,.07);background:rgba(255,253,250,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.grem-header-btn{border:0;background:transparent;padding:7px;color:var(--grem-ink);cursor:pointer}.grem-header-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.grem-menu{justify-self:start}.grem-logo-link{display:block}.grem-logo{display:block;width:auto;height:50px}.grem-header-icons{justify-self:end;display:flex;gap:5px}.grem-bag{position:relative}.grem-bag b{position:absolute;right:-1px;top:-2px;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--grem-purple);color:#fff;font-size:10px}.grem-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:13px 21px;background:var(--grem-purple);color:#fff;text-decoration:none;border:1px solid var(--grem-purple);font-size:14px;font-weight:600}.grem-btn-outline{background:rgba(255,255,255,.75);color:var(--grem-purple)}h1,h2,h3{font-family:Marcellus,Georgia,serif;font-weight:400}.grem-hero{min-height:600px;background-image:linear-gradient(90deg,rgba(249,242,235,.96) 0%,rgba(249,242,235,.73) 31%,rgba(249,242,235,.06) 56%),var(--grem-hero);background-size:cover;background-position:center;position:relative;overflow:hidden}.grem-hero-copy{position:relative;z-index:3;max-width:500px;padding:80px 0 60px max(28px,calc((100vw - 1180px)/2 + 20px))}.grem-hero-copy h1{font-size:68px;line-height:.98;letter-spacing:-2px;margin:0 0 18px}.grem-hero-copy p{font-size:19px;line-height:1.5;max-width:390px;margin:0 0 25px}.grem-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.grem-hero-products{position:absolute;left:max(30px,calc((100vw - 1180px)/2 + 18px));bottom:20px;z-index:3;display:flex;align-items:end;gap:3px;width:360px;pointer-events:none}.grem-hero-products img{object-fit:contain;filter:drop-shadow(0 10px 12px rgba(82,47,42,.12))}.grem-hero-products img:nth-child(1){width:135px}.grem-hero-products img:nth-child(2){width:100px}.grem-hero-products img:nth-child(3){width:94px}.grem-home-section{max-width:1180px;margin:auto;padding:58px 20px}.grem-section-head{text-align:center;margin-bottom:28px}.grem-section-head h2{font-size:46px;margin:0 0 5px}.grem-section-head p{margin:0;color:#73516f;font-size:14px}.grem-routine{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.grem-routine-card{text-decoration:none;color:inherit;min-width:0}.grem-step-line{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--grem-purple);font-size:13px;margin-bottom:7px}.grem-step-line span{width:22px;height:22px;background:var(--grem-purple);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.grem-routine-image{height:210px;display:flex;align-items:center;justify-content:center}.grem-routine-image img{width:100%;height:100%;object-fit:contain;display:block}.grem-routine-card p{text-align:center;font-family:Marcellus,serif;font-size:14px;line-height:1.25;margin:8px 0 0}.grem-products-section{padding-top:10px}.grem-inline-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.grem-inline-title h2{font-size:43px;margin:0}.grem-inline-title a{color:var(--grem-purple);text-decoration:none;font-size:13px}.grem-products-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(115px,1fr);gap:8px;overflow:auto;padding-bottom:7px;scroll-snap-type:x mandatory}.grem-product-card{scroll-snap-align:start}.grem-product-card a{text-decoration:none;color:inherit}.grem-product-img{aspect-ratio:1;background:#f8f4f1;border-radius:11px;padding:10px;display:flex;align-items:center;justify-content:center}.grem-product-img img{width:100%;height:100%;object-fit:contain}.grem-product-card h3{font-family:Poppins,sans-serif;font-size:11px;text-align:center;line-height:1.25;margin:7px 3px}.grem-texture-band{position:relative;min-height:280px;overflow:hidden;background:#efe4da;display:grid;grid-template-columns:1.05fr 1fr 1.05fr;align-items:center}.grem-texture-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}.grem-texture-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,241,235,.92),rgba(248,241,235,.24),rgba(248,241,235,.7))}.grem-texture-copy,.grem-benefits{position:relative;z-index:2}.grem-texture-copy{padding:38px max(22px,calc((100vw - 1180px)/2 + 20px))}.grem-texture-copy h2{font-size:40px;line-height:1.04;margin:0 0 9px;max-width:360px}.grem-texture-copy p{font-size:13px;line-height:1.5;max-width:330px;margin:0 0 9px}.grem-texture-copy a{color:var(--grem-purple);font-size:13px;text-decoration:none}.grem-benefits{grid-column:3;display:grid;grid-template-columns:repeat(4,1fr);padding-right:max(22px,calc((100vw - 1180px)/2 + 20px));gap:7px}.grem-benefits span{text-align:center;font-size:11px}.grem-benefits svg{width:28px;height:28px;display:block;margin:0 auto 8px;fill:none;stroke:var(--grem-purple);stroke-width:1.4}.grem-benefits small{font-size:10px;line-height:1.25}.grem-duo{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px}.grem-duo-card{position:relative;min-height:305px;overflow:hidden;border-radius:14px}.grem-duo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grem-duo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,248,.95) 0%,rgba(255,252,248,.78) 48%,rgba(255,252,248,.08) 80%)}.grem-duo-copy{position:relative;z-index:2;padding:28px;max-width:58%}.grem-duo-copy h2{font-size:37px;margin:0 0 7px}.grem-duo-copy p{font-size:13px;line-height:1.45;margin:0 0 15px}.grem-duo-copy a{display:inline-block;color:#fff;background:var(--grem-purple);border-radius:999px;text-decoration:none;padding:9px 14px;font-size:11px}.grem-duo-copy>b{display:block;font-size:11px;margin-top:12px}.grem-mini-benefits{display:flex;gap:14px;margin:10px 0 14px}.grem-mini-benefits span{font-weight:600;font-size:15px}.grem-mini-benefits small{display:block;font-weight:400;font-size:9px}.grem-find{max-width:1140px;margin:0 auto 30px;border-radius:14px;background:#f0e5dd;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.grem-find>div{display:flex;gap:12px;align-items:center}.grem-pin{width:36px;height:36px;border-radius:50%;background:#8d6d4b;color:white;display:flex;align-items:center;justify-content:center}.grem-find h2{font-size:30px;margin:0}.grem-find p{font-size:12px;margin:2px 0 0}.grem-footer{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr .7fr .8fr .9fr;gap:28px;padding:32px 20px 45px;border-top:1px solid var(--grem-line)}.grem-footer h3{font-family:Poppins,sans-serif;font-size:12px;font-weight:600;margin:0 0 5px}.grem-footer p{font-size:11px;line-height:1.6;margin:0;color:#665b58}.grem-footer form{display:flex;margin-top:10px}.grem-footer input{min-width:0;flex:1;border:1px solid #d9cdc5;border-radius:7px 0 0 7px;padding:9px 10px;font:10px Poppins,sans-serif}.grem-footer button{border:0;background:var(--grem-purple);color:#fff;padding:0 15px;border-radius:0 7px 7px 0}.grem-footer-brand img{height:42px;width:auto}.grem-shop-page{background:#fffdfa;min-height:70vh}.grem-shop-hero{max-width:1180px;margin:auto;padding:64px 20px 24px}.grem-eyebrow{font-size:12px;letter-spacing:.14em;color:var(--grem-purple);font-weight:600;margin:0 0 9px}.grem-shop-hero h1{font-size:61px;line-height:1.02;max-width:660px;margin:0 0 12px}.grem-shop-hero>p:last-of-type{max-width:560px;font-size:15px;line-height:1.55}.grem-chip-row{display:flex;gap:7px;overflow:auto;margin-top:26px}.grem-chip-row button{border:0;background:#f2ece7;border-radius:999px;padding:8px 13px;font:500 11px Poppins,sans-serif;white-space:nowrap}.grem-chip-row button.is-active{background:var(--grem-purple);color:#fff}.grem-shop-grid-wrap{max-width:1180px;margin:auto;padding:15px 20px 70px}.grem-shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grem-shop-card{border:1px solid #eee5df;background:#fff;border-radius:14px;overflow:hidden}.grem-shop-card>a{text-decoration:none;color:inherit}.grem-shop-card-image{aspect-ratio:1;background:#f8f3ef;padding:22px}.grem-shop-card-image img{width:100%;height:100%;object-fit:contain}.grem-shop-card-meta{padding:14px}.grem-shop-card-meta h2{font-family:Poppins,sans-serif;font-weight:500;font-size:15px;margin:0 0 3px}.grem-shop-card-meta p{font-size:11px;color:#7a6d68;margin:0}.grem-shop-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:11px}.grem-shop-bottom strong{font-size:14px;color:var(--grem-ink)}.grem-add-circle{width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--grem-purple);color:#fff}.grem-add-circle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.grem-single-product{background:#fffdfa}.grem-product-top{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:45px;padding:45px 20px 60px}.grem-product-gallery{background:#f5ece5;border-radius:18px;overflow:hidden;padding:28px}.grem-product-stage{min-height:560px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.78),rgba(247,237,229,.2))}.grem-product-stage img{max-width:80%;max-height:490px;object-fit:contain;filter:drop-shadow(0 22px 30px rgba(70,45,42,.14))}.grem-product-dots{display:flex;gap:6px;justify-content:center;margin-top:7px}.grem-product-dots span{width:6px;height:6px;border-radius:50%;background:#d8c6d5}.grem-product-dots span.is-active{background:var(--grem-purple)}.grem-product-summary{position:relative;padding:25px 0}.grem-product-tools{display:flex;justify-content:flex-end;gap:8px}.grem-product-tools button{border:0;background:transparent;color:var(--grem-purple);padding:5px}.grem-product-tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.grem-product-summary h1{font-size:57px;line-height:1;margin:18px 0 5px;color:#4f214d}.grem-product-kicker{font-size:11px;color:#8b7b75;margin:0 0 12px}.grem-product-price{font-size:27px;font-weight:600;color:var(--grem-purple);margin:10px 0 15px}.grem-product-intro{font-size:14px;line-height:1.6;color:#605550}.grem-buy-row{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:25px 0}.grem-qty{border:1px solid #ddd0ca;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.grem-qty button{border:0;background:transparent;font-size:19px}.grem-add-button{border:0;border-radius:999px;background:var(--grem-purple);color:#fff;font:600 12px Poppins,sans-serif;text-transform:uppercase}.grem-product-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border-top:1px solid var(--grem-line);border-bottom:1px solid var(--grem-line);padding:19px 0}.grem-product-benefits span{text-align:center;font-size:11px}.grem-product-benefits svg{width:26px;height:26px;margin:0 auto 7px;display:block;fill:none;stroke:var(--grem-purple);stroke-width:1.4}.grem-product-benefits b{font-weight:500}.grem-accordion button{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--grem-line);background:transparent;padding:15px 2px;font:500 12px Poppins,sans-serif;text-align:left}.grem-related{max-width:1180px;margin:auto;padding:10px 20px 70px}.grem-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grem-related-grid>a{text-decoration:none;color:inherit}.grem-related-grid>a>div{aspect-ratio:1;background:#f8f3ef;border-radius:13px;padding:20px}.grem-related-grid img{width:100%;height:100%;object-fit:contain}.grem-related-grid h3{font-family:Poppins,sans-serif;font-size:14px;margin:9px 0 3px}.grem-related-grid strong{font-size:13px;color:var(--grem-purple)}
@media(max-width:900px){.grem-header{height:66px;padding:0 14px}.grem-logo{height:43px}.grem-hero{min-height:780px;background-position:62% center;background-image:linear-gradient(180deg,rgba(249,242,235,.98) 0%,rgba(249,242,235,.84) 38%,rgba(249,242,235,.02) 62%),var(--grem-hero)}.grem-hero-copy{padding:48px 22px 20px;max-width:430px}.grem-hero-copy h1{font-size:51px;letter-spacing:-1px}.grem-hero-copy p{font-size:16px}.grem-hero-products{left:17px;bottom:14px;width:290px}.grem-hero-products img:nth-child(1){width:110px}.grem-hero-products img:nth-child(2){width:80px}.grem-hero-products img:nth-child(3){width:74px}.grem-home-section{padding:45px 16px}.grem-routine{grid-auto-flow:column;grid-auto-columns:72%;grid-template-columns:none;overflow:auto;scroll-snap-type:x mandatory}.grem-routine-card{scroll-snap-align:start}.grem-routine-image{height:310px}.grem-texture-band{display:block;padding:35px 16px}.grem-texture-copy{padding:20px 0}.grem-benefits{padding:10px 0;grid-template-columns:repeat(4,1fr)}.grem-duo{grid-template-columns:1fr;padding:12px 16px}.grem-find{margin:5px 16px 25px}.grem-footer{grid-template-columns:1fr 1fr}.grem-shop-hero{padding:45px 16px 20px}.grem-shop-hero h1{font-size:48px}.grem-shop-grid-wrap{padding:10px 16px 60px}.grem-shop-grid{grid-template-columns:repeat(2,1fr);gap:10px}.grem-product-top{grid-template-columns:1fr;gap:10px;padding:18px 16px 45px}.grem-product-gallery{padding:16px}.grem-product-stage{min-height:440px}.grem-product-summary{padding:10px 2px}.grem-product-summary h1{font-size:45px}.grem-related{padding:0 16px 55px}.grem-related-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.grem-topbar{height:30px;font-size:10px;gap:10px}.grem-topbar i{height:11px}.grem-header-icons{gap:0}.grem-header-btn svg{width:20px;height:20px}.grem-hero{min-height:690px}.grem-hero-copy h1{font-size:46px}.grem-section-head h2{font-size:37px}.grem-routine{grid-auto-columns:82%}.grem-routine-image{height:290px}.grem-products-scroll{grid-auto-columns:29%}.grem-texture-copy h2{font-size:35px}.grem-benefits{gap:2px}.grem-benefits small{font-size:9px}.grem-duo-card{min-height:270px}.grem-duo-copy{max-width:67%;padding:20px}.grem-duo-copy h2{font-size:30px}.grem-find{align-items:flex-start;flex-direction:column}.grem-find h2{font-size:25px}.grem-footer{grid-template-columns:1fr;gap:18px}.grem-shop-hero h1{font-size:43px}.grem-shop-card-image{padding:12px}.grem-shop-card-meta{padding:10px}.grem-shop-card-meta h2{font-size:12px}.grem-product-stage{min-height:355px}.grem-product-stage img{max-width:88%;max-height:330px}.grem-product-summary h1{font-size:40px}.grem-buy-row{grid-template-columns:105px 1fr}.grem-product-benefits b{font-size:10px}.grem-related-grid{gap:8px}.grem-related-grid>a>div{padding:10px}.grem-related-grid h3{font-size:11px}}
/* 0.4.0 editorial pages */
.grem-editorial-page{background:#fffdfa}.grem-editorial-hero{max-width:1180px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center;padding:64px 20px}.grem-editorial-copy h1{font-size:65px;line-height:1;margin:0 0 13px;color:#342928}.grem-editorial-copy h2{font-size:29px;line-height:1.25;color:var(--grem-purple);margin:0 0 18px}.grem-editorial-copy>p:not(.grem-eyebrow){font-size:15px;line-height:1.75;color:#655957;max-width:540px}.grem-editorial-copy .grem-btn{margin-top:13px}.grem-editorial-image{border-radius:20px;overflow:hidden;aspect-ratio:1.2;background:#f2e9e2}.grem-editorial-image img{width:100%;height:100%;object-fit:cover}.grem-loyalty-hero .grem-editorial-image{aspect-ratio:1.15}.grem-loyalty-benefit-grid,.grem-values-grid{max-width:1180px;margin:auto;padding:5px 20px 65px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grem-loyalty-benefit-grid article,.grem-values-grid article{border:1px solid #ece1da;border-radius:16px;background:#fbf5f0;padding:28px}.grem-loyalty-benefit-grid article>span{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--grem-purple);color:#fff;font-size:12px;font-weight:600}.grem-loyalty-benefit-grid h2,.grem-values-grid h2{font-size:29px;margin:22px 0 8px}.grem-loyalty-benefit-grid p,.grem-values-grid p{font-size:13px;line-height:1.65;margin:0;color:#6c5f5b}.grem-how-section{background:#f1e6de;padding:58px max(20px,calc((100vw - 1140px)/2));display:grid;grid-template-columns:.65fr 1.35fr;gap:55px}.grem-how-section>div:first-child h2{font-size:46px;margin:5px 0}.grem-how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.grem-how-steps article{background:rgba(255,255,255,.62);border-radius:14px;padding:20px}.grem-how-steps b{color:var(--grem-purple);font-size:13px}.grem-how-steps h3{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;margin:19px 0 6px}.grem-how-steps p{font-size:11px;line-height:1.55;color:#6c5f5b}.grem-values-grid article>span svg{width:30px;height:30px;fill:none;stroke:var(--grem-purple);stroke-width:1.35}.grem-philosophy-band{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden}.grem-philosophy-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grem-philosophy-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,248,.96) 0%,rgba(255,252,248,.86) 38%,rgba(255,252,248,.05) 68%)}.grem-philosophy-band>div{position:relative;z-index:2;padding:45px max(20px,calc((100vw - 1140px)/2));max-width:650px}.grem-philosophy-band h2{font-size:46px;line-height:1.05;margin:6px 0 10px}.grem-philosophy-band p:last-child{font-size:13px;line-height:1.7;max-width:430px}.grem-locations-head{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;padding:60px 20px 30px}.grem-locations-head h1{font-size:61px;margin:4px 0 9px}.grem-locations-head>div:first-child>p:last-child{font-size:14px;line-height:1.55;max-width:560px}.grem-location-search label{font-size:11px;font-weight:600;display:block;margin-bottom:7px;color:#766965}.grem-location-search>div{height:44px;border:1px solid #dbcfc8;border-radius:999px;background:#fff;display:flex;align-items:center;padding:0 14px}.grem-location-search input{border:0;outline:0;background:transparent;flex:1;font:11px Poppins,sans-serif}.grem-location-search svg{width:18px;height:18px;fill:none;stroke:var(--grem-purple);stroke-width:1.5}.grem-locations-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:18px;padding:0 20px 70px}.grem-location-visual{position:sticky;top:95px;height:610px;border-radius:18px;overflow:hidden}.grem-location-visual>img{width:100%;height:100%;object-fit:cover}.grem-location-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,29,24,.58),transparent 48%)}.grem-location-visual-copy{position:absolute;left:25px;right:25px;bottom:23px;z-index:2;color:#fff}.grem-location-visual-copy b{font-family:Marcellus,serif;font-size:33px;font-weight:400;display:block}.grem-location-visual-copy span{font-size:11px}.grem-location-list{display:flex;flex-direction:column;gap:9px}.grem-location-card{display:grid;grid-template-columns:24px 1fr 28px;gap:9px;align-items:center;border:1px solid #ece2dc;border-radius:14px;background:#fff;padding:16px}.grem-location-card[hidden]{display:none}.grem-location-dot{color:var(--grem-purple)}.grem-location-card h2{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;margin:0 0 4px}.grem-location-card p{font-size:11px;line-height:1.45;margin:0;color:#746864}.grem-location-card>a{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;background:#f1e7f0;color:var(--grem-purple)}.grem-location-empty{font-size:13px;text-align:center;padding:30px;color:#796b66}
@media(max-width:900px){.grem-editorial-hero{grid-template-columns:1fr;padding:42px 16px;gap:25px}.grem-editorial-copy h1{font-size:51px}.grem-editorial-image{aspect-ratio:1.4}.grem-loyalty-benefit-grid,.grem-values-grid{padding:0 16px 45px}.grem-how-section{grid-template-columns:1fr;padding:45px 16px;gap:25px}.grem-locations-head{grid-template-columns:1fr;padding:42px 16px 22px;gap:20px}.grem-locations-layout{grid-template-columns:1fr;padding:0 16px 55px}.grem-location-visual{position:relative;top:auto;height:330px}.grem-location-list{gap:7px}}
@media(max-width:560px){.grem-editorial-copy h1{font-size:45px}.grem-editorial-copy h2{font-size:24px}.grem-editorial-image{aspect-ratio:1.2}.grem-loyalty-benefit-grid,.grem-values-grid{grid-template-columns:1fr}.grem-loyalty-benefit-grid article,.grem-values-grid article{padding:22px}.grem-how-steps{grid-template-columns:1fr}.grem-philosophy-band{min-height:430px}.grem-philosophy-band:after{background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(255,252,248,.82) 53%,rgba(255,252,248,.1))}.grem-philosophy-band>div{align-self:flex-start;padding:38px 18px}.grem-philosophy-band h2{font-size:38px}.grem-locations-head h1{font-size:46px}.grem-location-visual{height:270px}}
/* 0.5.0 commerce previews */
.grem-header-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.grem-commerce-page{background:#fffdfa;min-height:70vh}.grem-commerce-head{max-width:1180px;margin:auto;padding:58px 20px 28px}.grem-commerce-head h1{font-size:59px;line-height:1.03;margin:4px 0 10px}.grem-commerce-head>p:last-child{font-size:14px;color:#6d605c;margin:0}.grem-cart-layout{max-width:1180px;margin:auto;padding:0 20px 70px;display:grid;grid-template-columns:1.45fr .75fr;gap:28px;align-items:start}.grem-cart-list{display:flex;flex-direction:column;gap:10px}.grem-cart-item{display:grid;grid-template-columns:92px 1fr 104px 100px;gap:14px;align-items:center;border:1px solid #ece2dc;border-radius:15px;background:#fff;padding:12px}.grem-cart-thumb{width:92px;height:92px;border-radius:11px;background:#f7f2ee;padding:10px}.grem-cart-thumb img{width:100%;height:100%;object-fit:contain}.grem-cart-info h2{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;margin:0 0 5px}.grem-cart-info p{font-size:13px;margin:0;color:var(--grem-purple)}.grem-cart-qty{display:grid;grid-template-columns:30px 34px 30px;align-items:center;border:1px solid #ddd1ca;border-radius:999px;overflow:hidden}.grem-cart-qty button{height:31px;border:0;background:#faf6f2;cursor:default}.grem-cart-qty span{text-align:center;font-size:12px}.grem-cart-line{text-align:right;font-size:13px;font-weight:600}.grem-order-summary,.grem-checkout-summary{position:sticky;top:105px;border:1px solid #eadfd8;background:#fff;border-radius:16px;padding:22px}.grem-order-summary>h2,.grem-checkout-summary>h2{font-size:30px;margin:0 0 18px}.grem-coupon label{font-size:11px;font-weight:600;display:block;margin-bottom:7px}.grem-coupon>div{display:flex}.grem-coupon input{min-width:0;flex:1;border:1px solid #ddd1ca;border-radius:8px 0 0 8px;padding:10px;font:10px Poppins,sans-serif}.grem-coupon button{border:0;background:var(--grem-purple);color:#fff;border-radius:0 8px 8px 0;padding:0 13px;font:600 9px Poppins,sans-serif;text-transform:uppercase}.grem-order-summary dl,.grem-checkout-summary dl{margin:22px 0 18px;border-top:1px solid #eee4de;padding-top:12px}.grem-order-summary dl>div,.grem-checkout-summary dl>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:5px 0}.grem-order-summary dt,.grem-checkout-summary dt{color:#6f625e}.grem-order-summary dd,.grem-checkout-summary dd{margin:0;font-weight:600;text-align:right}.grem-total-row{margin-top:7px;padding-top:11px!important;border-top:1px solid #eee4de;font-size:16px!important;color:var(--grem-purple)}.grem-full-btn{width:100%}.grem-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:15px}.grem-trust-row span{text-align:center;font-size:9px;color:#776a66}.grem-empty-state{min-height:360px;border:1px dashed #dacdc6;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.grem-empty-state>span svg{width:42px;height:42px;fill:none;stroke:var(--grem-purple);stroke-width:1.2}.grem-empty-state h2{font-size:32px;margin:15px 0 7px}.grem-empty-state p{font-size:12px;line-height:1.6;max-width:460px;color:#776a66;margin:0 0 18px}.grem-checkout-layout{max-width:1180px;margin:auto;padding:0 20px 75px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}.grem-checkout-form{display:flex;flex-direction:column;gap:14px}.grem-checkout-form>section{border:1px solid #eadfd8;border-radius:16px;background:#fff;padding:24px}.grem-checkout-form h2{font-size:29px;margin:0 0 18px}.grem-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grem-field-grid label{font-size:10px;font-weight:600;color:#695d59}.grem-field-grid label.wide{grid-column:1/-1}.grem-field-grid input{display:block;width:100%;margin-top:6px;border:1px solid #ddd1ca;border-radius:9px;padding:11px 12px;font:11px Poppins,sans-serif;background:#fff}.grem-payment-box{border:1px solid #e5d9d2;border-radius:12px;background:#faf5f1;padding:16px}.grem-payment-box b{font-size:12px}.grem-payment-box p{font-size:11px;line-height:1.55;margin:6px 0 0;color:#756965}.grem-checkout-item{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eee4de}.grem-checkout-item img{width:48px;height:48px;object-fit:contain;background:#f8f3ef;border-radius:8px;padding:5px}.grem-checkout-item span{font-size:11px}.grem-checkout-item span small{display:block;color:#7b6d68;margin-top:2px}.grem-checkout-item strong{font-size:11px}.grem-preview-hint{font-size:9px;color:#8a7d78;text-align:center;margin:8px 0 0}.grem-muted{font-size:11px;color:#82746f}.grem-account-shell{max-width:1180px;margin:auto;padding:0 20px 75px;display:grid;grid-template-columns:220px 1fr;gap:24px}.grem-account-nav{border:1px solid #eadfd8;border-radius:15px;background:#fff;padding:10px;height:max-content;position:sticky;top:105px}.grem-account-nav a{display:block;padding:11px 12px;border-radius:9px;color:#564b48;text-decoration:none;font-size:11px}.grem-account-nav a.is-active{background:#f1e6ef;color:var(--grem-purple);font-weight:600}.grem-account-content{display:flex;flex-direction:column;gap:14px}.grem-account-welcome{display:flex;align-items:center;gap:15px;border-radius:16px;background:#f1e7df;padding:22px}.grem-account-welcome>span{width:50px;height:50px;border-radius:50%;background:var(--grem-purple);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Marcellus,serif;font-size:23px}.grem-account-welcome p{font-size:10px;margin:0;color:#796b66}.grem-account-welcome h2{font-size:29px;margin:2px 0}.grem-account-welcome small{font-size:10px;color:#796b66}.grem-account-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grem-account-cards article{border:1px solid #eadfd8;border-radius:15px;background:#fff;padding:20px}.grem-account-cards b{font-size:10px;text-transform:uppercase;color:#796b66}.grem-account-cards strong{display:block;font:32px Marcellus,serif;color:var(--grem-purple);margin:11px 0 4px}.grem-account-cards p{font-size:10px;line-height:1.5;margin:0;color:#796b66}.grem-account-panel{border:1px solid #eadfd8;border-radius:15px;background:#fff;padding:24px}.grem-account-panel h2{font-size:30px;margin:0 0 8px}.grem-account-panel p{font-size:11px;line-height:1.6;color:#746864;max-width:650px;margin:0 0 16px}
@media(max-width:900px){.grem-commerce-head{padding:42px 16px 22px}.grem-commerce-head h1{font-size:48px}.grem-cart-layout,.grem-checkout-layout{grid-template-columns:1fr;padding:0 16px 55px}.grem-order-summary,.grem-checkout-summary{position:relative;top:auto}.grem-cart-item{grid-template-columns:76px 1fr 94px}.grem-cart-line{grid-column:2/-1}.grem-cart-thumb{width:76px;height:76px}.grem-account-shell{grid-template-columns:1fr;padding:0 16px 55px}.grem-account-nav{position:relative;top:auto;display:flex;overflow:auto}.grem-account-nav a{white-space:nowrap}.grem-account-cards{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.grem-commerce-head h1{font-size:43px}.grem-cart-item{grid-template-columns:68px 1fr;gap:9px}.grem-cart-thumb{width:68px;height:68px}.grem-cart-qty{grid-column:2;width:94px}.grem-cart-line{grid-column:2;text-align:left}.grem-field-grid{grid-template-columns:1fr}.grem-field-grid label.wide{grid-column:auto}.grem-account-cards{grid-template-columns:1fr}.grem-trust-row{grid-template-columns:1fr 1fr 1fr}}
/* 0.6.0 — real staging commerce bridge */
.grem-notices{max-width:1180px;margin:0 auto;padding:0 20px}.grem-notices:empty{display:none}.grem-notices .woocommerce-message,.grem-notices .woocommerce-error,.grem-notices .woocommerce-info{margin:14px 0 0!important;border:1px solid #eadfd8!important;border-top:0!important;border-radius:12px!important;background:#fff!important;color:#594d49!important;padding:12px 16px 12px 42px!important;font:10px/1.5 Poppins,sans-serif!important;box-shadow:none!important}.grem-notices .woocommerce-message:before,.grem-notices .woocommerce-info:before{color:var(--grem-purple)!important}.grem-notices .woocommerce-error:before{color:#a64e55!important}
.grem-add-form{margin:18px 0 0}.grem-qty input,.grem-cart-qty input{width:38px;height:31px;border:0;background:#fff;text-align:center;font:11px Poppins,sans-serif;-moz-appearance:textfield}.grem-qty input::-webkit-inner-spin-button,.grem-qty input::-webkit-outer-spin-button,.grem-cart-qty input::-webkit-inner-spin-button,.grem-cart-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grem-qty{grid-template-columns:30px 38px 30px}.grem-cart-qty{grid-template-columns:30px 38px 30px}.grem-qty button,.grem-cart-qty button{cursor:pointer}.grem-product-option-link{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;margin-top:18px}.grem-remove-link,.grem-update-link{border:0;background:transparent;padding:0;color:#887771;text-decoration:underline;font:9px Poppins,sans-serif;cursor:pointer}.grem-cart-info .grem-remove-link{margin-top:7px}.grem-cart-line .grem-update-link{display:block;margin:5px 0 0 auto;color:var(--grem-purple)}
.grem-native-commerce{max-width:1180px;margin:0 auto;padding:0 20px 75px}.grem-native-commerce .woocommerce{font-family:Poppins,sans-serif;color:#4f4542}.grem-native-commerce .woocommerce h2,.grem-native-commerce .woocommerce h3{font-family:Marcellus,serif;color:#332a28}.grem-native-commerce .woocommerce form .form-row{margin:0 0 13px}.grem-native-commerce .woocommerce form .form-row label{font-size:10px;font-weight:600;letter-spacing:.02em;color:#675b57}.grem-native-commerce .woocommerce form .form-row input.input-text,.grem-native-commerce .woocommerce form .form-row textarea,.grem-native-commerce .woocommerce form .form-row select,.grem-native-commerce .select2-container .select2-selection--single{border:1px solid #ddd1ca!important;border-radius:9px!important;background:#fff!important;min-height:42px!important;padding:9px 11px!important;font:11px Poppins,sans-serif!important;box-shadow:none!important}.grem-native-commerce .select2-container .select2-selection--single{padding:5px 11px!important}.grem-native-commerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:30px!important;padding-left:0!important}.grem-native-commerce .woocommerce-checkout{display:grid;grid-template-columns:1.16fr .84fr;gap:28px;align-items:start}.grem-native-commerce #customer_details{display:block}.grem-native-commerce #customer_details .col-1,.grem-native-commerce #customer_details .col-2{float:none;width:100%;border:1px solid #eadfd8;border-radius:16px;background:#fff;padding:24px;margin:0 0 14px}.grem-native-commerce #order_review_heading{grid-column:2;grid-row:1;font-size:29px;margin:0 0 8px}.grem-native-commerce #order_review{grid-column:2;grid-row:1;margin-top:46px;border:1px solid #eadfd8;border-radius:16px;background:#fff;padding:22px;position:sticky;top:105px}.grem-native-commerce #order_review table.shop_table{border:0;margin:0 0 18px;border-radius:0;font-size:11px}.grem-native-commerce #order_review table.shop_table th,.grem-native-commerce #order_review table.shop_table td{padding:10px 4px;border-color:#eee4de}.grem-native-commerce #payment{background:#faf5f1!important;border-radius:12px!important}.grem-native-commerce #payment ul.payment_methods{border-color:#eadfd8!important;padding:15px!important}.grem-native-commerce #payment div.payment_box{background:#f2e8e2!important;font-size:11px!important}.grem-native-commerce #payment div.payment_box:before{border-bottom-color:#f2e8e2!important}.grem-native-commerce #payment .place-order{padding:15px!important}.grem-native-commerce #place_order,.grem-native-commerce .grem-order-disabled{width:100%!important;min-height:45px!important;border:0!important;border-radius:999px!important;background:var(--grem-purple)!important;color:#fff!important;font:600 10px Poppins,sans-serif!important;text-transform:uppercase!important;letter-spacing:.04em!important}.grem-native-commerce .grem-order-disabled{opacity:.45!important;cursor:not-allowed!important}.grem-native-commerce .woocommerce-info,.grem-native-commerce .woocommerce-message,.grem-native-commerce .woocommerce-error{border:1px solid #eadfd8!important;border-top:0!important;background:#fff!important;border-radius:12px!important;font-size:11px!important}.grem-native-commerce a{color:var(--grem-purple)}
.grem-native-account{max-width:1050px}.grem-account-loyalty-link{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;border-radius:14px;background:#efe3ed}.grem-account-loyalty-link>span{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--grem-purple);color:#fff;font-size:19px}.grem-account-loyalty-link b{display:block;font:22px Marcellus,serif}.grem-account-loyalty-link small{font-size:10px;color:#776a66}.grem-account-loyalty-link>a{font-size:11px;font-weight:600;text-decoration:none}.grem-native-account .woocommerce{display:grid;grid-template-columns:215px 1fr;gap:24px}.grem-native-account .woocommerce-MyAccount-navigation{float:none;width:auto}.grem-native-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;border:1px solid #eadfd8;border-radius:15px;background:#fff}.grem-native-account .woocommerce-MyAccount-navigation li{margin:0}.grem-native-account .woocommerce-MyAccount-navigation a{display:block;padding:11px 12px;border-radius:9px;text-decoration:none;font-size:11px;color:#554a47}.grem-native-account .woocommerce-MyAccount-navigation .is-active a{background:#f1e6ef;color:var(--grem-purple);font-weight:600}.grem-native-account .woocommerce-MyAccount-content{float:none;width:auto;border:1px solid #eadfd8;border-radius:15px;background:#fff;padding:24px;font-size:12px;line-height:1.65}.grem-native-account .woocommerce-MyAccount-content p:first-child{margin-top:0}.grem-native-account .woocommerce-Button,.grem-native-account button.button{border-radius:999px!important;background:var(--grem-purple)!important;color:#fff!important;font:600 9px Poppins,sans-serif!important;padding:11px 17px!important}.grem-native-account table.shop_table{font-size:11px;border-color:#eadfd8}.grem-native-account table.shop_table th,.grem-native-account table.shop_table td{padding:10px}
@media(max-width:900px){.grem-native-commerce .woocommerce-checkout{grid-template-columns:1fr}.grem-native-commerce #order_review_heading{grid-column:1;grid-row:auto}.grem-native-commerce #order_review{grid-column:1;grid-row:auto;margin-top:0;position:relative;top:auto}.grem-native-account .woocommerce{grid-template-columns:1fr}.grem-native-account .woocommerce-MyAccount-navigation ul{display:flex;overflow:auto;gap:2px}.grem-native-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}.grem-native-account .woocommerce-MyAccount-navigation a{white-space:nowrap}.grem-notices{padding:0 16px}}
@media(max-width:560px){.grem-native-commerce{padding:0 16px 55px}.grem-native-commerce #customer_details .col-1,.grem-native-commerce #customer_details .col-2,.grem-native-commerce #order_review{padding:16px}.grem-account-loyalty-link{grid-template-columns:38px 1fr}.grem-account-loyalty-link>span{width:38px;height:38px}.grem-account-loyalty-link>a{grid-column:2}.grem-native-account .woocommerce-MyAccount-content{padding:17px}}

/* 0.7.0 — menu mobile, ricerca prodotti, shop filter, staging frontend */
body.grem-preview-body.grem-panel-open{overflow:hidden}
.grem-overlay{position:fixed;inset:0;z-index:88;background:rgba(33,24,29,.35);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s ease}.grem-overlay.is-active{opacity:1}.grem-overlay[hidden]{display:none}
.grem-mobile-drawer{position:fixed;left:0;top:0;bottom:0;z-index:90;width:min(390px,92vw);background:#fffdfa;transform:translateX(-102%);transition:transform .28s ease;box-shadow:24px 0 60px rgba(62,36,55,.16);padding:22px;display:flex;flex-direction:column}.grem-mobile-drawer.is-open{transform:translateX(0)}
.grem-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--grem-line)}.grem-panel-head img{height:46px;width:auto}.grem-panel-head button,.grem-search-top button{width:40px;height:40px;border:0;border-radius:50%;background:#f3ece7;color:var(--grem-ink);font:300 28px/1 Poppins,sans-serif;cursor:pointer}.grem-mobile-nav{display:flex;flex-direction:column;padding:18px 0}.grem-mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid #efe6e0;color:var(--grem-ink);text-decoration:none;font:26px/1.15 Marcellus,Georgia,serif}.grem-mobile-nav a span{font:18px Poppins,sans-serif;color:var(--grem-purple)}.grem-drawer-bottom{margin-top:auto;padding-top:16px;border-top:1px solid var(--grem-line);display:flex;gap:16px;flex-wrap:wrap}.grem-drawer-bottom a{font-size:11px;text-decoration:none;color:var(--grem-purple);font-weight:600}
.grem-search-panel{position:fixed;inset:0 0 auto 0;z-index:91;background:#fffdfa;transform:translateY(-103%);transition:transform .3s ease;box-shadow:0 24px 60px rgba(62,36,55,.15);max-height:92vh;overflow:auto}.grem-search-panel.is-open{transform:translateY(0)}.grem-search-inner{max-width:900px;margin:auto;padding:34px 28px 30px}.grem-search-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.grem-search-top h2{font-size:43px;margin:2px 0 0}.grem-search-box{height:54px;border:1px solid #dfd3cc;border-radius:999px;background:white;display:flex;align-items:center;padding:0 18px;gap:10px}.grem-search-box svg{width:21px;height:21px;fill:none;stroke:var(--grem-purple);stroke-width:1.7}.grem-search-box input{border:0;outline:0;background:transparent;width:100%;font:14px Poppins,sans-serif;color:var(--grem-ink)}.grem-search-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.grem-search-item{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;padding:9px;border:1px solid #eee4de;border-radius:13px;text-decoration:none;color:inherit;background:#fff}.grem-search-item>span{width:68px;height:68px;border-radius:10px;background:#f7f1ed;padding:5px}.grem-search-item img{width:100%;height:100%;object-fit:contain}.grem-search-item b{display:block;font-size:12px;line-height:1.3}.grem-search-item small{display:block;margin-top:5px;color:var(--grem-purple);font-size:11px}.grem-search-item i{font-style:normal;color:var(--grem-purple);font-size:18px;padding-right:6px}.grem-search-empty{grid-column:1/-1;text-align:center;color:#7b6e69;padding:25px;font-size:13px}
.grem-shop-card[hidden]{display:none!important}.grem-chip-row button{cursor:pointer;transition:background .18s ease,color .18s ease}.grem-chip-row button:focus-visible,.grem-header-btn:focus-visible,.grem-panel-head button:focus-visible,.grem-search-top button:focus-visible{outline:2px solid var(--grem-purple);outline-offset:2px}
.is-grem-staging-front .grem-site-shell{min-height:100vh}.is-grem-staging-front .grem-stage-note{display:none}
@media(min-width:1000px){.grem-mobile-drawer{width:420px}.grem-mobile-nav a{font-size:32px}}
@media(max-width:700px){.grem-search-inner{padding:24px 16px 18px}.grem-search-top h2{font-size:34px}.grem-search-results{grid-template-columns:1fr}.grem-search-panel{max-height:100vh}.grem-topbar{font-size:10px;gap:9px}.grem-header{height:68px;padding:0 12px}.grem-logo{height:43px}.grem-header-icons{gap:0}.grem-header-btn{padding:6px}.grem-header-btn svg{width:21px;height:21px}}

/* 0.7.1 — mobile UX polish */
.grem-stage-note{font-size:9px;padding:6px 9px;opacity:.86;pointer-events:none}
.grem-mobile-drawer{width:min(330px,84vw);bottom:auto;min-height:0;max-height:92vh;overflow:auto;padding:14px 16px 12px;border-radius:0 0 18px 0}
.grem-panel-head{padding-bottom:10px}.grem-panel-head img{height:34px}.grem-panel-head button{width:34px;height:34px;font-size:24px}
.grem-mobile-nav{padding:7px 0}.grem-mobile-nav a{padding:11px 2px;font-size:21px;line-height:1.1}.grem-mobile-nav a span{font-size:16px}
.grem-drawer-bottom{margin-top:10px;padding-top:11px;gap:13px}.grem-drawer-bottom a{font-size:12px}
@media(min-width:1000px){.grem-mobile-drawer{width:350px}.grem-mobile-nav a{font-size:23px}}

.grem-routine-slider-ui{display:none}.grem-routine{scrollbar-width:none;-ms-overflow-style:none}.grem-routine::-webkit-scrollbar{display:none}
.grem-accordion-item{border-bottom:1px solid var(--grem-line)}.grem-accordion-item>button{border-bottom:0;cursor:pointer;color:var(--grem-ink)}
.grem-accordion-item>button span{color:var(--grem-purple);font-size:19px;line-height:1;transition:transform .18s ease}
.grem-accordion-item>button[aria-expanded="true"] span{transform:rotate(45deg)}
.grem-accordion-panel{padding:0 2px 16px;color:#625752;font-size:13px;line-height:1.65}.grem-accordion-panel[hidden]{display:none}
.grem-accordion-panel p{margin:0 0 10px}.grem-accordion-panel p:last-child{margin-bottom:0}.grem-accordion-panel ul{margin:7px 0 10px;padding-left:18px}.grem-accordion-panel h2,.grem-accordion-panel h3{font-family:Poppins,sans-serif;font-weight:600;font-size:13px;color:var(--grem-purple);margin:14px 0 6px}
.grem-accordion-related{display:grid;gap:4px}.grem-accordion-related a{display:flex;justify-content:space-between;gap:14px;color:var(--grem-ink);text-decoration:none;padding:8px 0}.grem-accordion-related a span{color:var(--grem-purple)}

@media(max-width:900px){
  .grem-hero-products{left:24px;bottom:24px;width:285px;height:165px;display:flex;align-items:flex-end;gap:0;overflow:visible}
  .grem-hero-products:before{content:"";position:absolute;left:7px;right:12px;bottom:0;height:20px;border-radius:50%;background:radial-gradient(ellipse,rgba(92,64,51,.16),rgba(92,64,51,0) 70%);filter:blur(2px)}
  .grem-hero-products img{position:relative;z-index:1;height:auto!important;max-height:160px;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(82,47,42,.12))}
  .grem-hero-products .grem-hero-burro{width:118px!important;transform:translateY(-2px)}
  .grem-hero-products .grem-hero-contorno{width:88px!important;margin-left:-8px;transform:translateY(-1px)}
  .grem-hero-products .grem-hero-siero{width:75px!important;margin-left:-7px;transform:translateY(-2px)}
  .grem-routine-section{overflow:hidden}
  .grem-routine-slider-ui{display:flex;align-items:center;gap:10px;margin:-10px 0 13px;color:var(--grem-purple);font-size:12px;font-weight:500}
  .grem-routine-slider-ui>span{white-space:nowrap}.grem-routine-progress{display:flex;gap:5px;align-items:center;flex:1}.grem-routine-progress i{display:block;width:14px;height:3px;border-radius:999px;background:#e1d2df;transition:width .2s ease,background .2s ease}.grem-routine-progress i.is-active{width:26px;background:var(--grem-purple)}
  .grem-routine-slider-ui button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(116,50,111,.28);background:#fffdfa;color:var(--grem-purple);font:20px/1 Poppins,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .grem-routine{grid-auto-columns:76%;gap:12px;padding-right:20%;overscroll-behavior-x:contain}
  .grem-routine-card{scroll-snap-align:start;border:1px solid #f0e6e0;border-radius:16px;padding:13px 10px 16px;background:#fffdfb;box-shadow:0 8px 26px rgba(87,54,69,.045)}
  .grem-routine-image{height:270px}
}
@media(max-width:560px){
  .grem-mobile-drawer{width:min(305px,82vw);padding:12px 14px 11px}.grem-mobile-nav a{font-size:20px;padding:10px 2px}
  .grem-hero-products{left:20px;bottom:21px;width:255px;height:148px}.grem-hero-products .grem-hero-burro{width:106px!important}.grem-hero-products .grem-hero-contorno{width:79px!important}.grem-hero-products .grem-hero-siero{width:67px!important}
  .grem-routine{grid-auto-columns:78%;padding-right:18%}.grem-routine-image{height:250px}
  .grem-accordion-panel{font-size:12px}
}

/* 0.7.2 — mobile cleanup, hero composition, account responsive */
html{margin-top:0!important;max-width:100%;overflow-x:hidden}
body.grem-preview-body{overflow-x:hidden;width:100%;max-width:100vw}
body.grem-preview-body #wpadminbar{display:none!important}
.grem-site-shell{width:100%;max-width:100vw;overflow-x:clip}

/* Menu compatto: piccolo pannello ancorato sotto l'header, non un full-height drawer */
.grem-mobile-drawer{left:12px!important;right:auto!important;bottom:auto!important;top:var(--grem-drawer-top,118px);width:min(270px,calc(100vw - 48px))!important;max-height:calc(100dvh - var(--grem-drawer-top,118px) - 14px)!important;border-radius:16px!important;padding:9px 12px 10px!important;box-shadow:0 18px 45px rgba(54,34,48,.18)!important;overflow:auto!important;transform:translate3d(-115%,0,0)!important}
.grem-mobile-drawer.is-open{transform:translate3d(0,0,0)!important}
.grem-panel-head{min-height:34px;padding:0 0 7px!important;border-bottom:1px solid var(--grem-line)!important}
.grem-panel-head strong{font:600 10px/1 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--grem-purple)}
.grem-panel-head img{display:none!important}
.grem-panel-head button{width:30px!important;height:30px!important;font-size:22px!important;background:#f4ede8!important}
.grem-mobile-nav{padding:3px 0!important}
.grem-mobile-nav a{min-height:40px;padding:7px 1px!important;font-size:17px!important;line-height:1.1!important;border-bottom:1px solid #f0e8e2!important}
.grem-mobile-nav a span{font-size:14px!important}
.grem-drawer-bottom{margin-top:6px!important;padding-top:8px!important;gap:10px!important;justify-content:space-between}
.grem-drawer-bottom a{font-size:10px!important}

/* Hero: niente packshot sovrapposti. Su mobile copy appoggiata alla base per lasciare libero il volto. */
.grem-hero-products{display:none!important}
@media(max-width:900px){
  .grem-hero{min-height:760px;background-position:64% center;background-image:var(--grem-hero)!important}
  .grem-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:39%;background:linear-gradient(180deg,rgba(251,247,242,0),rgba(251,247,242,.50) 28%,rgba(251,247,242,.94) 100%);pointer-events:none}
  .grem-hero-copy{position:absolute;z-index:4;left:16px;right:16px;bottom:17px;max-width:none;padding:15px 16px 14px!important;border:1px solid rgba(116,50,111,.08);border-radius:18px;background:rgba(255,253,250,.89);backdrop-filter:blur(8px);box-shadow:0 12px 34px rgba(72,48,55,.08)}
  .grem-hero-copy h1{font-size:36px!important;line-height:1.02!important;letter-spacing:-.6px!important;margin:0 0 7px!important;max-width:300px}
  .grem-hero-copy p{font-size:12px!important;line-height:1.45!important;margin:0 0 12px!important;max-width:320px}
  .grem-hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .grem-hero-actions .grem-btn{min-height:43px;padding:10px 12px!important;font-size:11px!important;white-space:nowrap}
}
@media(max-width:560px){
  .grem-hero{min-height:700px;background-position:66% center}
  .grem-hero-copy{left:12px;right:12px;bottom:12px;padding:13px 13px 12px!important}
  .grem-hero-copy h1{font-size:33px!important;max-width:270px}
}

/* Account / WooCommerce: blocca ogni overflow e ricompone il layout mobile. */
.grem-commerce-page,.grem-commerce-head,.grem-native-commerce,.grem-native-account,.grem-native-account .woocommerce,.grem-native-account .woocommerce>*{min-width:0;max-width:100%}
.grem-commerce-head{width:100%}
.grem-native-account{width:100%;overflow:hidden}
.grem-native-account .woocommerce-MyAccount-navigation,.grem-native-account .woocommerce-MyAccount-content{min-width:0;max-width:100%;box-sizing:border-box}
.grem-native-account .woocommerce-MyAccount-content{overflow-wrap:anywhere;word-break:normal}
.grem-native-account table.shop_table{max-width:100%}
@media(max-width:900px){
  .grem-commerce-head{padding:34px 16px 18px!important;overflow:hidden}
  .grem-commerce-head h1{font-size:37px!important;line-height:1.08!important;max-width:100%;overflow-wrap:anywhere}
  .grem-commerce-head>p:last-child{font-size:12px!important;line-height:1.5}
  .grem-native-account{padding:0 14px 50px!important}
  .grem-native-account .woocommerce{display:block!important;width:100%!important}
  .grem-native-account .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;margin:0 0 12px!important;overflow:hidden!important}
  .grem-native-account .woocommerce-MyAccount-navigation ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%!important;overflow:visible!important;padding:8px!important}
  .grem-native-account .woocommerce-MyAccount-navigation li{min-width:0!important}
  .grem-native-account .woocommerce-MyAccount-navigation a{white-space:normal!important;text-align:center;padding:9px 7px!important;font-size:10px!important;line-height:1.25!important}
  .grem-native-account .woocommerce-MyAccount-content{float:none!important;width:100%!important;margin:0!important;padding:16px!important;font-size:11px!important;line-height:1.6!important;overflow:hidden}
  .grem-account-loyalty-link{width:100%;margin:0 0 12px!important;padding:13px!important;grid-template-columns:36px minmax(0,1fr) auto!important;gap:9px!important}
  .grem-account-loyalty-link>span{width:36px!important;height:36px!important}
  .grem-account-loyalty-link b{font-size:19px!important}
  .grem-account-loyalty-link small{font-size:9px!important}
  .grem-account-loyalty-link>a{grid-column:auto!important;white-space:nowrap;font-size:10px!important}
  .grem-native-account table.shop_table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:430px){
  .grem-account-loyalty-link{grid-template-columns:34px minmax(0,1fr)!important}
  .grem-account-loyalty-link>a{grid-column:2!important}
}


/* 0.7.3 — redesigned mobile navigation + transparent hero copy */
@media(max-width:900px){
  /* Navigation: floating editorial panel, two-column and compact. */
  .grem-mobile-drawer{
    left:12px!important;right:12px!important;width:auto!important;
    top:var(--grem-drawer-top,118px)!important;
    max-height:calc(100dvh - var(--grem-drawer-top,118px) - 16px)!important;
    padding:12px!important;border-radius:22px!important;
    background:rgba(255,253,250,.97)!important;
    box-shadow:0 24px 70px rgba(47,30,42,.20)!important;
  }
  .grem-panel-head{padding:0 2px 10px!important;min-height:36px!important;border-bottom:0!important}
  .grem-panel-head strong{font-size:10px!important;letter-spacing:.18em!important}
  .grem-panel-head button{width:32px!important;height:32px!important;background:#f1e7e2!important}
  .grem-mobile-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:0!important}
  .grem-mobile-nav .grem-nav-card{
    position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;min-height:58px!important;padding:11px 12px!important;
    border:1px solid #eadfd8!important;border-radius:14px!important;background:#fff!important;
    font-family:Marcellus,Georgia,serif!important;font-size:17px!important;line-height:1.05!important;
    box-shadow:0 3px 12px rgba(72,47,62,.025)!important;
  }
  .grem-mobile-nav .grem-nav-label{min-width:0;white-space:nowrap!important;color:var(--grem-ink)!important;font:inherit!important}
  .grem-mobile-nav .grem-nav-arrow{font:14px/1 Poppins,sans-serif!important;color:var(--grem-purple)!important;justify-self:end}
  .grem-mobile-nav .grem-nav-loyalty{
    grid-column:1/-1!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
    min-height:67px!important;background:linear-gradient(110deg,#f2e6f1,#fbf5f8)!important;border-color:#e3cfe1!important;
    padding:10px 12px!important;
  }
  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label{font-size:20px!important;color:var(--grem-purple-dark)!important}
  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label b{font-family:Poppins,sans-serif;font-size:.88em;color:#d23b4b;margin:0 2px;font-weight:600}
  .grem-mobile-nav .grem-nav-loyalty small{grid-column:1;font:500 8px/1.2 Poppins,sans-serif;color:#7d6377;margin-top:3px}
  .grem-mobile-nav .grem-nav-loyalty .grem-nav-arrow{grid-column:2;grid-row:1/3;align-self:center}
  .grem-drawer-bottom{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:8px!important;padding-top:8px!important;border-top:1px solid var(--grem-line)!important}
  .grem-drawer-bottom a{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;background:#f5efeb;color:var(--grem-purple)!important;font-size:10px!important;text-align:center}

  /* Hero: keep the face clear and restore the translucent/editorial overlay feeling. */
  .grem-hero{background-image:var(--grem-hero)!important;background-position:63% center!important;min-height:735px!important}
  .grem-hero:after{height:43%!important;background:linear-gradient(180deg,rgba(251,247,242,0) 0%,rgba(251,247,242,.12) 18%,rgba(251,247,242,.52) 61%,rgba(251,247,242,.76) 100%)!important}
  .grem-hero-copy{
    left:0!important;right:7%!important;bottom:14px!important;max-width:590px!important;
    padding:18px 17px 14px 20px!important;border:0!important;border-radius:0!important;
    background:linear-gradient(90deg,rgba(255,253,250,.64) 0%,rgba(255,253,250,.38) 58%,rgba(255,253,250,0) 100%)!important;
    backdrop-filter:blur(2px)!important;box-shadow:none!important;
  }
  .grem-hero-copy h1{font-size:37px!important;line-height:1!important;max-width:285px!important;margin:0 0 7px!important;text-shadow:0 2px 14px rgba(255,255,255,.66)}
  .grem-hero-copy p{font-size:11px!important;line-height:1.4!important;max-width:315px!important;margin:0 0 12px!important;text-shadow:0 1px 10px rgba(255,255,255,.80)}
  .grem-hero-actions{display:flex!important;gap:8px!important;flex-wrap:nowrap!important;max-width:350px}
  .grem-hero-actions .grem-btn{flex:1;min-width:0!important;min-height:42px!important;padding:9px 10px!important;font-size:10px!important}
  .grem-hero-actions .grem-btn-outline{background:rgba(255,255,255,.32)!important;backdrop-filter:blur(5px)!important;border-color:rgba(116,50,111,.72)!important}
}
@media(max-width:430px){
  .grem-mobile-nav .grem-nav-card{min-height:54px!important;font-size:16px!important;padding:10px!important}
  .grem-mobile-nav .grem-nav-loyalty{min-height:63px!important}
  .grem-hero{min-height:700px!important;background-position:64% center!important}
  .grem-hero-copy{right:4%!important;bottom:11px!important;padding:16px 14px 12px 16px!important}
  .grem-hero-copy h1{font-size:34px!important;max-width:255px!important}
  .grem-hero-actions{max-width:330px}
}


/* Grem Core 0.7.5 — Hero mobile: clean image, copy top-left, face unobstructed. */
@media(max-width:900px){
  .grem-hero{
    min-height:735px!important;
    background-image:var(--grem-hero)!important;
    background-position:64% center!important;
  }
  .grem-hero:after{display:none!important;content:none!important;background:none!important}
  .grem-hero-copy{
    position:absolute!important;
    z-index:4!important;
    top:48px!important;
    left:20px!important;
    right:auto!important;
    bottom:auto!important;
    width:min(52vw,245px)!important;
    max-width:245px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
  }
  .grem-hero-copy h1{
    max-width:235px!important;
    margin:0 0 13px!important;
    font-size:40px!important;
    line-height:1.02!important;
    letter-spacing:-.7px!important;
    text-shadow:0 1px 12px rgba(255,255,255,.78)!important;
  }
  .grem-hero-copy p{
    width:210px!important;
    max-width:100%!important;
    margin:0 0 16px!important;
    font-size:13px!important;
    line-height:1.45!important;
    text-shadow:0 1px 10px rgba(255,255,255,.92)!important;
  }
  .grem-hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    width:190px!important;
    max-width:100%!important;
  }
  .grem-hero-actions .grem-btn{
    width:190px!important;
    min-width:0!important;
    min-height:42px!important;
    padding:10px 15px!important;
    justify-content:space-between!important;
    font-size:11px!important;
  }
  .grem-hero-actions .grem-btn-outline{
    background:rgba(255,255,255,.18)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}
@media(max-width:430px){
  .grem-hero{min-height:700px!important;background-position:65% center!important}
  .grem-hero-copy{top:38px!important;left:18px!important;width:48vw!important;max-width:205px!important}
  .grem-hero-copy h1{font-size:34px!important;max-width:205px!important;margin-bottom:11px!important}
  .grem-hero-copy p{width:182px!important;font-size:11px!important;margin-bottom:13px!important}
  .grem-hero-actions{width:170px!important}
  .grem-hero-actions .grem-btn{width:170px!important;min-height:39px!important;font-size:10px!important;padding:9px 13px!important}
}


/* Grem Core 0.7.7 — definitive mobile fixes
   - Keep 0.7.5 hero composition (top-left, face clear)
   - CTA pills size to their content
   - Prevent iOS focus zoom correctly: mobile form controls >= 16px
*/
@media (max-width:900px){
  .grem-hero{
    min-height:735px!important;
    background-image:var(--grem-hero)!important;
    background-position:64% center!important;
  }
  .grem-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
  }
  .grem-hero-copy{
    position:absolute!important;
    z-index:4!important;
    top:48px!important;
    left:20px!important;
    right:auto!important;
    bottom:auto!important;
    width:min(49vw,225px)!important;
    max-width:225px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
  }
  .grem-hero-copy h1{
    max-width:225px!important;
    margin:0 0 12px!important;
    font-size:40px!important;
    line-height:1.01!important;
    letter-spacing:-.7px!important;
    text-shadow:0 1px 12px rgba(255,255,255,.78)!important;
  }
  .grem-hero-copy p{
    width:205px!important;
    max-width:100%!important;
    margin:0 0 15px!important;
    white-space:pre-line!important;
    font-size:13px!important;
    line-height:1.42!important;
    text-shadow:0 1px 10px rgba(255,255,255,.92)!important;
  }
  .grem-hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
  }
  .grem-hero-actions .grem-btn{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:40px!important;
    padding:9px 16px!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }
  .grem-hero-actions .grem-btn-outline{
    background:rgba(255,255,255,.18)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /* iPhone Safari zooms when controls are <16px. This prevents the zoom. */
  .grem-site-shell input,
  .grem-site-shell textarea,
  .grem-site-shell select,
  .grem-search-panel input,
  .grem-native-commerce input,
  .grem-native-commerce textarea,
  .grem-native-commerce select,
  .grem-native-account input,
  .grem-native-account textarea,
  .grem-native-account select,
  .select2-search__field{
    font-size:17px!important;
  }
}

@media (max-width:430px){
  .grem-hero{
    min-height:700px!important;
    background-position:65% center!important;
  }
  .grem-hero-copy{
    top:38px!important;
    left:18px!important;
    width:47vw!important;
    max-width:198px!important;
  }
  .grem-hero-copy h1{
    font-size:34px!important;
    max-width:198px!important;
    margin-bottom:10px!important;
  }
  .grem-hero-copy p{
    width:180px!important;
    font-size:11px!important;
    margin-bottom:12px!important;
  }
  .grem-hero-actions .grem-btn{
    min-height:38px!important;
    padding:8px 14px!important;
    font-size:10px!important;
  }
}


/* Grem Core 0.7.8 — restore the approved compact unified menu.
   Intentionally does NOT touch the 0.7.7 hero, routine or input fixes. */

.grem-mobile-drawer{
  left:16px!important;
  right:auto!important;
  bottom:auto!important;
  top:var(--grem-drawer-top,118px)!important;
  width:min(360px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - var(--grem-drawer-top,118px) - 16px)!important;
  padding:14px 16px 13px!important;
  border:1px solid rgba(116,50,111,.10)!important;
  border-radius:18px!important;
  background:rgba(255,253,250,.985)!important;
  box-shadow:0 20px 58px rgba(47,30,42,.18)!important;
  overflow:auto!important;
  transform:translate3d(calc(-100% - 28px),0,0)!important;
}
.grem-mobile-drawer.is-open{
  transform:translate3d(0,0,0)!important;
}

.grem-panel-head{
  min-height:38px!important;
  padding:0 0 9px!important;
  border-bottom:1px solid var(--grem-line)!important;
}
.grem-panel-head strong{
  font:600 9px/1 Poppins,sans-serif!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--grem-purple)!important;
}
.grem-panel-head button{
  width:31px!important;
  height:31px!important;
  font-size:21px!important;
  background:#f4ede8!important;
}

.grem-mobile-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:3px 0 1px!important;
}
.grem-mobile-nav .grem-nav-card,
.grem-mobile-nav .grem-nav-loyalty{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  min-height:47px!important;
  padding:9px 2px!important;
  border:0!important;
  border-bottom:1px solid #eee4de!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font:400 20px/1.08 Marcellus,Georgia,serif!important;
  color:var(--grem-ink)!important;
}
.grem-mobile-nav .grem-nav-label{
  white-space:nowrap!important;
  color:var(--grem-ink)!important;
  font:inherit!important;
}
.grem-mobile-nav .grem-nav-arrow{
  font:13px/1 Poppins,sans-serif!important;
  color:var(--grem-purple)!important;
  justify-self:end!important;
}
.grem-mobile-nav .grem-nav-loyalty{
  min-height:54px!important;
  padding:10px 2px 8px!important;
  background:transparent!important;
  border-color:#eadbd8!important;
}
.grem-mobile-nav .grem-nav-loyalty .grem-nav-label{
  font-size:23px!important;
  color:var(--grem-purple-dark)!important;
}
.grem-mobile-nav .grem-nav-loyalty .grem-nav-label b{
  font:600 .82em/1 Poppins,sans-serif!important;
  color:#d53d4c!important;
  margin:0 2px!important;
}
.grem-mobile-nav .grem-nav-loyalty small{
  display:none!important;
}
.grem-mobile-nav .grem-nav-loyalty .grem-nav-arrow{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
}

.grem-drawer-bottom{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  margin-top:9px!important;
  padding-top:9px!important;
  border-top:0!important;
}
.grem-drawer-bottom a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:#f5efeb!important;
  color:var(--grem-purple)!important;
  font:600 9px/1.2 Poppins,sans-serif!important;
  text-align:center!important;
  text-decoration:none!important;
}

@media(max-width:430px){
  .grem-mobile-drawer{
    left:12px!important;
    width:calc(100vw - 24px)!important;
    padding:12px 14px!important;
    border-radius:17px!important;
  }
  .grem-mobile-nav .grem-nav-card,
  .grem-mobile-nav .grem-nav-loyalty{
    min-height:44px!important;
    font-size:19px!important;
    padding:8px 1px!important;
  }
  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label{
    font-size:21px!important;
  }
}

@media(min-width:901px){
  .grem-mobile-drawer{
    width:360px!important;
    left:22px!important;
    padding:16px 18px 14px!important;
  }
  .grem-mobile-nav .grem-nav-card,
  .grem-mobile-nav .grem-nav-loyalty{
    font-size:23px!important;
    min-height:50px!important;
  }
  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label{
    font-size:25px!important;
  }
}


/* Grem Core 0.7.9 — compact menu footer: cart below account */
.grem-drawer-bottom{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:6px!important;
  margin-top:8px!important;
  padding-top:8px!important;
}
.grem-drawer-bottom a{
  width:100%!important;
  min-height:32px!important;
  padding:6px 10px!important;
}


/* Grem Core 0.8.1 — mobile menu max 50% viewport width */
@media(max-width:900px){
  .grem-mobile-drawer{
    left:12px!important;
    right:auto!important;
    width:min(50vw,320px)!important;
    max-width:50vw!important;
    padding:12px 13px 11px!important;
    border-radius:17px!important;
  }

  .grem-mobile-nav .grem-nav-card,
  .grem-mobile-nav .grem-nav-loyalty{
    min-height:42px!important;
    padding:7px 1px!important;
    font-size:17px!important;
  }

  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label{
    font-size:19px!important;
  }

  .grem-mobile-nav .grem-nav-arrow{
    font-size:13px!important;
  }

  .grem-drawer-bottom{
    gap:5px!important;
    margin-top:7px!important;
    padding-top:7px!important;
  }

  .grem-drawer-bottom a{
    min-height:30px!important;
    padding:5px 7px!important;
    font-size:9px!important;
  }

  .grem-panel-head{
    min-height:34px!important;
    padding-bottom:7px!important;
  }

  .grem-panel-head button{
    width:28px!important;
    height:28px!important;
    font-size:19px!important;
  }
}

@media(max-width:430px){
  .grem-mobile-drawer{
    width:50vw!important;
    max-width:50vw!important;
  }

  .grem-mobile-nav .grem-nav-card,
  .grem-mobile-nav .grem-nav-loyalty{
    font-size:16px!important;
  }

  .grem-mobile-nav .grem-nav-loyalty .grem-nav-label{
    font-size:18px!important;
  }
}


/* Grem Core 0.8.2 — Back to top */
.grem-backtotop{
  position:fixed;
  right:16px;
  bottom:18px;
  z-index:85;
  width:42px;
  height:42px;
  border:1px solid rgba(116,50,111,.22);
  border-radius:50%;
  background:rgba(255,253,250,.94);
  color:var(--grem-purple);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(59,35,53,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background .2s ease;
}
.grem-backtotop.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.grem-backtotop:hover{
  background:var(--grem-purple);
  color:#fff;
}
.grem-backtotop svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:900px){
  .grem-backtotop{
    width:38px;
    height:38px;
    right:12px;
    bottom:12px;
  }
}

/* 0.8.3 — preview badge removed */
.grem-stage-note{display:none!important}


/* Grem Core 0.8.4 — Cart fully responsive */
@media(max-width:900px){
  .grem-cart-page{
    overflow-x:hidden!important;
  }

  .grem-cart-page .grem-commerce-head{
    padding:34px 18px 18px!important;
  }

  .grem-cart-page .grem-commerce-head h1{
    font-size:40px!important;
    line-height:1.02!important;
  }

  .grem-cart-layout{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 16px 48px!important;
    gap:14px!important;
  }

  .grem-cart-list,
  .grem-order-summary{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .grem-empty-state{
    width:100%!important;
    min-height:300px!important;
    padding:28px 20px!important;
    border-radius:18px!important;
  }

  .grem-empty-state h2{
    font-size:33px!important;
    line-height:1.05!important;
    margin:14px 0 8px!important;
  }

  .grem-empty-state p{
    width:100%!important;
    max-width:390px!important;
    font-size:13px!important;
    line-height:1.55!important;
    margin-bottom:18px!important;
  }

  .grem-empty-state .grem-btn{
    width:auto!important;
    max-width:100%!important;
    padding:11px 18px!important;
  }

  .grem-order-summary{
    position:relative!important;
    top:auto!important;
    padding:20px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  .grem-order-summary>h2{
    font-size:33px!important;
    margin-bottom:16px!important;
  }

  .grem-coupon>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
  }

  .grem-coupon input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    padding:10px 12px!important;
    border-radius:10px 0 0 10px!important;
  }

  .grem-coupon button{
    min-width:82px!important;
    height:44px!important;
    padding:0 13px!important;
    border-radius:0 10px 10px 0!important;
  }

  .grem-order-summary dl>div{
    gap:10px!important;
  }

  .grem-order-summary dd{
    max-width:55%!important;
    overflow-wrap:anywhere!important;
  }

  .grem-full-btn{
    width:100%!important;
    max-width:100%!important;
    min-height:44px!important;
    padding:11px 16px!important;
  }

  .grem-trust-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .grem-trust-row span{
    font-size:9px!important;
    line-height:1.25!important;
  }

  .grem-cart-item{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:72px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:10px!important;
    overflow:hidden!important;
  }

  .grem-cart-thumb{
    width:72px!important;
    height:72px!important;
  }

  .grem-cart-info{
    min-width:0!important;
  }

  .grem-cart-info h2{
    font-size:13px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
  }

  .grem-cart-qty{
    width:92px!important;
    grid-template-columns:28px 36px 28px!important;
  }

  .grem-cart-line{
    grid-column:2 / -1!important;
    text-align:right!important;
    min-width:0!important;
  }

  .grem-related{
    padding-left:16px!important;
    padding-right:16px!important;
    overflow:hidden!important;
  }

  .grem-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}

@media(max-width:520px){
  .grem-cart-page .grem-commerce-head h1{
    font-size:36px!important;
  }

  .grem-cart-layout{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .grem-empty-state{
    min-height:255px!important;
    padding:24px 16px!important;
  }

  .grem-empty-state>span svg{
    width:36px!important;
    height:36px!important;
  }

  .grem-empty-state h2{
    font-size:30px!important;
  }

  .grem-order-summary{
    padding:17px!important;
  }

  .grem-coupon>div{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .grem-coupon input,
  .grem-coupon button{
    width:100%!important;
    border-radius:10px!important;
  }

  .grem-cart-item{
    grid-template-columns:64px minmax(0,1fr)!important;
  }

  .grem-cart-thumb{
    width:64px!important;
    height:64px!important;
  }

  .grem-cart-qty{
    grid-column:2!important;
    justify-self:start!important;
  }

  .grem-cart-line{
    grid-column:2!important;
    text-align:left!important;
  }
}


/* =========================================================
   Grem Core 0.9.0 — premium polish bundle
   1) lightweight reveal / hover micro-interactions
   2) improved Routine slider
   3) product routine note + mobile sticky add-to-cart
   4) optical normalization of Home collection packshots
   ========================================================= */

/* 1 — Premium motion, only when JS is ready */
.grem-motion-ready .grem-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .62s cubic-bezier(.22,.8,.3,1), transform .62s cubic-bezier(.22,.8,.3,1);
}
.grem-motion-ready .grem-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.grem-motion-ready .grem-reveal-delay-1{transition-delay:.06s}
.grem-motion-ready .grem-reveal-delay-2{transition-delay:.12s}
.grem-motion-ready .grem-reveal-delay-3{transition-delay:.18s}

.grem-product-card,
.grem-routine-card,
.grem-duo-card,
.grem-shop-card,
.grem-related-grid>a{
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.grem-texture-band>img{
  transition:transform 1.1s cubic-bezier(.22,.8,.3,1);
  transform:scale(1.025);
}
.grem-texture-band.is-visible>img{transform:scale(1.055)}

@media(hover:hover) and (pointer:fine){
  .grem-product-card:hover,
  .grem-routine-card:hover,
  .grem-shop-card:hover,
  .grem-related-grid>a:hover{
    transform:translateY(-4px);
  }
  .grem-product-card:hover .grem-product-img,
  .grem-shop-card:hover{
    box-shadow:0 14px 34px rgba(68,42,59,.08);
  }
  .grem-duo-card:hover{transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
  .grem-motion-ready .grem-reveal,
  .grem-product-card,.grem-routine-card,.grem-duo-card,.grem-shop-card,.grem-related-grid>a,
  .grem-texture-band>img{
    transition:none!important;
    transform:none!important;
    opacity:1!important;
  }
}

/* 2 — Routine: stronger affordance and active step */
.grem-routine-counter{
  display:none;
  align-items:baseline;
  gap:2px;
  min-width:38px;
  color:var(--grem-purple);
  font-family:Marcellus,Georgia,serif;
}
.grem-routine-counter b{font-size:19px;font-weight:400}
.grem-routine-counter em{font:500 9px Poppins,sans-serif;font-style:normal;opacity:.6}
.grem-routine-card.is-active{
  border-color:rgba(116,50,111,.24)!important;
  box-shadow:0 12px 34px rgba(89,52,79,.08)!important;
}
.grem-routine-card.is-active .grem-step-line strong{color:var(--grem-purple-dark)}
.grem-routine-card.is-active .grem-step-line span{transform:scale(1.05)}
.grem-step-line span{transition:transform .2s ease}

@media(max-width:900px){
  .grem-routine-slider-ui{
    display:grid!important;
    grid-template-columns:auto auto minmax(70px,1fr) 34px 34px!important;
    align-items:center!important;
    gap:8px!important;
  }
  .grem-routine-counter{display:flex!important}
  .grem-routine-slider-ui button{
    flex:0 0 auto!important;
  }
  .grem-routine{
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth;
  }
  .grem-routine-card{
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
}
@media(max-width:430px){
  .grem-routine-slider-ui{
    grid-template-columns:auto auto minmax(44px,1fr) 31px 31px!important;
    gap:6px!important;
  }
  .grem-routine-slider-ui>span:first-child{font-size:10px}
  .grem-routine-slider-ui button{width:31px!important;height:31px!important}
}

/* 3 — Product page: routine context */
.grem-product-routine-note{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:15px;
  align-items:center;
  margin:18px 0 4px;
  padding:16px 17px;
  border:1px solid #e7d9e4;
  border-radius:16px;
  background:linear-gradient(115deg,#f3e8f2,#fcf8f5);
}
.grem-product-routine-step{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--grem-purple);
  color:#fff;
  font:400 22px Marcellus,Georgia,serif;
}
.grem-product-routine-note small{
  display:block;
  color:var(--grem-purple);
  font-size:9px;
  font-weight:600;
  letter-spacing:.12em;
}
.grem-product-routine-note h2{
  margin:2px 0 3px;
  font-size:27px;
  line-height:1;
}
.grem-product-routine-note p{
  margin:0;
  color:#6d5f5b;
  font-size:11px;
  line-height:1.5;
}

.grem-sticky-buy{
  display:none;
}
@media(max-width:900px){
  .grem-sticky-buy{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:82;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:9px 9px 9px 14px;
    border:1px solid rgba(116,50,111,.14);
    border-radius:17px;
    background:rgba(255,253,250,.96);
    box-shadow:0 16px 40px rgba(54,33,47,.16);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    opacity:0;
    visibility:hidden;
    transform:translateY(18px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .grem-sticky-buy.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .grem-sticky-buy div{min-width:0}
  .grem-sticky-buy small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    color:#786b67;
  }
  .grem-sticky-buy strong{
    display:block;
    margin-top:1px;
    color:var(--grem-purple);
    font-size:13px;
  }
  .grem-sticky-buy button{
    min-width:98px;
    height:40px;
    border:0;
    border-radius:999px;
    background:var(--grem-purple);
    color:#fff;
    font:600 9px Poppins,sans-serif;
    text-transform:uppercase;
  }
}
@media(max-width:430px){
  .grem-product-routine-note{
    grid-template-columns:46px minmax(0,1fr);
    gap:11px;
    padding:13px;
  }
  .grem-product-routine-step{
    width:44px;height:44px;font-size:19px;
  }
  .grem-product-routine-note h2{font-size:23px}
  .grem-sticky-buy{left:8px;right:8px;bottom:8px}
}

/* 4 — Home collection: consistent optical product scale */
.grem-product-img{
  overflow:hidden;
}
.grem-product-img img{
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:78%!important;
  object-fit:contain!important;
  margin:auto;
  transition:transform .24s ease;
}
.grem-product-visual-burro .grem-product-img img{max-width:82%!important;max-height:64%!important}
.grem-product-visual-contorno .grem-product-img img{max-width:72%!important;max-height:62%!important}
.grem-product-visual-crema .grem-product-img img{max-width:76%!important;max-height:66%!important}
.grem-product-visual-maschera .grem-product-img img{max-width:76%!important;max-height:66%!important}
.grem-product-visual-detergente .grem-product-img img{max-width:54%!important;max-height:88%!important}
.grem-product-visual-scrub .grem-product-img img{max-width:54%!important;max-height:88%!important}
.grem-product-visual-siero .grem-product-img img{max-width:49%!important;max-height:86%!important}
.grem-product-visual-gift .grem-product-img img{max-width:88%!important;max-height:72%!important}
@media(hover:hover) and (pointer:fine){
  .grem-product-card:hover .grem-product-img img{transform:scale(1.035)}
}


/* Grem Core 0.9.1
   - elimina la patina delle reveal: niente più fade di opacità
   - CTA Aggiungi nel flusso subito dopo il prodotto e sticky sotto l'header
*/

.grem-motion-ready .grem-reveal{
  opacity:1!important;
  transform:translateY(10px)!important;
  transition:transform .42s cubic-bezier(.22,.8,.3,1)!important;
}
.grem-motion-ready .grem-reveal.is-visible{
  opacity:1!important;
  transform:translateY(0)!important;
}
.grem-home-section,
.grem-texture-band,
.grem-duo-card,
.grem-find,
.grem-shop-card,
.grem-product-routine-note,
.grem-related,
.grem-editorial-hero{
  opacity:1!important;
}

@media(max-width:900px){
  .grem-sticky-buy{
    position:sticky!important;
    left:auto!important;
    right:auto!important;
    top:72px!important;
    bottom:auto!important;
    z-index:44!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:calc(100% - 20px)!important;
    margin:10px auto 18px!important;
    padding:9px 9px 9px 14px!important;
    border:1px solid rgba(116,50,111,.14)!important;
    border-radius:17px!important;
    background:rgba(255,253,250,.97)!important;
    box-shadow:0 10px 30px rgba(54,33,47,.10)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .grem-sticky-buy.is-visible{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}
@media(max-width:430px){
  .grem-sticky-buy{
    top:68px!important;
    width:calc(100% - 16px)!important;
    margin:8px auto 16px!important;
  }
}


/* Grem Core 0.9.2
   - ripristino CTA mobile sticky in basso come 0.9.0
   - Back to top disattivato
*/

/* Back to top off for now */
.grem-backtotop{
  display:none!important;
}

/* Restore original bottom sticky add-to-cart */
@media(max-width:900px){
  .grem-sticky-buy{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:10px!important;
    z-index:82!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:auto!important;
    margin:0!important;
    padding:9px 9px 9px 14px!important;
    border:1px solid rgba(116,50,111,.14)!important;
    border-radius:17px!important;
    background:rgba(255,253,250,.96)!important;
    box-shadow:0 16px 40px rgba(54,33,47,.16)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(18px)!important;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease!important;
  }

  .grem-sticky-buy.is-visible{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important;
  }
}

@media(max-width:430px){
  .grem-sticky-buy{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    margin:0!important;
  }
}


/* Grem Core 0.9.3 — fix definitivo patina iOS */
.grem-motion-ready .grem-reveal,
.grem-motion-ready .grem-reveal.is-visible,
.grem-reveal,
.grem-reveal.is-visible{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

.grem-home-section,
.grem-texture-band,
.grem-duo-card,
.grem-find,
.grem-shop-card,
.grem-product-routine-note,
.grem-related,
.grem-editorial-hero{
  opacity:1!important;
  transform:none!important;
}

@media(max-width:900px){
  .grem-sticky-buy{
    background:#fffdfa!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    isolation:isolate!important;
  }
}


/* Grem Core 0.9.4 — hard fix Safari "patina"
   Rimuove i backdrop-filter dai layer fixed/sticky che possono lasciare
   un velo persistente durante lo scroll su iPhone.
*/
.grem-header,
.grem-overlay,
.grem-mobile-drawer,
.grem-search-panel,
.grem-sticky-buy{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Overlay: nessun blur; esiste solo quando realmente attivo */
.grem-overlay{
  background:rgba(33,24,29,.28)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:none!important;
}
.grem-overlay.is-active:not([hidden]){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.grem-overlay[hidden]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* Header resta visivamente pieno, ma senza layer di compositing Safari */
.grem-header{
  background:#fffdfa!important;
}

/* CTA sticky piena e senza trasparenze */
@media(max-width:900px){
  .grem-sticky-buy{
    background:#fffdfa!important;
    isolation:auto!important;
  }
}


/* Grem Core 0.9.5 — iOS Safari top bar / safe-area fix */
html,
body.grem-preview-body{
  background:#fffdfa!important;
}

/* Keep page content out of the translucent iOS status-bar area. */
@supports (padding-top: env(safe-area-inset-top)){
  body.grem-preview-body{
    padding-top:0!important;
  }
}


/* Grem Core 0.9.6 — Safari mobile: fix reale del contenuto che passa sopra l'header.
   Il problema era lo sticky header dentro contenitori con overflow orizzontale.
*/
html,
body.grem-preview-body{
  overflow-x:clip!important;
}

.grem-site-shell{
  overflow:visible!important;
  overflow-x:visible!important;
}

/* Header realmente sticky anche su Safari/WebKit */
.grem-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  background:#fffdfa!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* I singoli componenti che possono scorrere orizzontalmente gestiscono
   il proprio overflow senza trasformare l'intera pagina in uno scroll container. */
.grem-products-scroll,
.grem-routine,
.grem-chip-row,
.grem-native-account table.shop_table{
  -webkit-overflow-scrolling:touch;
}


/* =========================================================
   Grem Core 0.9.7 — Home final polish / Collection balance
   Built directly on approved baseline 0.9.6.
   ========================================================= */

.grem-products-section{
  padding-top:22px!important;
  padding-bottom:62px!important;
}

.grem-products-section .grem-inline-title{
  align-items:flex-end!important;
  margin-bottom:22px!important;
}

.grem-products-section .grem-inline-title>div{
  min-width:0;
}

.grem-products-section .grem-inline-title h2{
  margin:0!important;
}

.grem-products-section .grem-inline-title p{
  margin:5px 0 0!important;
  color:#7d6b76;
  font-size:11px;
  line-height:1.4;
}

.grem-products-scroll{
  gap:12px!important;
  scroll-padding-left:0;
}

.grem-product-img{
  border:1px solid rgba(116,50,111,.035);
}

/* Packshots più presenti: la Collezione non deve sembrare miniatura
   rispetto alle grandi card editoriali della Routine. */
.grem-product-img img{
  max-width:90%!important;
  max-height:88%!important;
}

.grem-product-visual-burro .grem-product-img img{max-width:92%!important;max-height:76%!important}
.grem-product-visual-contorno .grem-product-img img{max-width:86%!important;max-height:75%!important}
.grem-product-visual-crema .grem-product-img img{max-width:87%!important;max-height:78%!important}
.grem-product-visual-maschera .grem-product-img img{max-width:87%!important;max-height:78%!important}
.grem-product-visual-detergente .grem-product-img img{max-width:68%!important;max-height:94%!important}
.grem-product-visual-scrub .grem-product-img img{max-width:69%!important;max-height:94%!important}
.grem-product-visual-siero .grem-product-img img{max-width:62%!important;max-height:92%!important}
.grem-product-visual-gift .grem-product-img img{max-width:96%!important;max-height:82%!important}

@media(max-width:900px){
  .grem-products-section{
    padding-left:16px!important;
    padding-right:0!important;
    padding-top:28px!important;
    padding-bottom:54px!important;
  }

  .grem-products-section .grem-inline-title{
    padding-right:16px!important;
    margin-bottom:18px!important;
  }

  .grem-products-section .grem-inline-title h2{
    font-size:41px!important;
    line-height:1!important;
  }

  .grem-products-section .grem-inline-title p{
    font-size:10px!important;
  }

  .grem-products-scroll{
    grid-auto-columns:40%!important;
    gap:10px!important;
    padding-right:16px!important;
    padding-bottom:10px!important;
  }

  .grem-product-img{
    aspect-ratio:1 / 1.02!important;
    border-radius:15px!important;
    padding:10px!important;
  }

  .grem-product-card h3{
    margin:9px 5px 0!important;
    font-size:11px!important;
    line-height:1.25!important;
    min-height:2.5em;
  }
}

@media(max-width:560px){
  .grem-products-scroll{
    /* circa 2,3 card visibili: abbastanza grandi ma è ancora chiaro che si scorre */
    grid-auto-columns:43%!important;
  }

  .grem-products-section .grem-inline-title h2{
    font-size:39px!important;
  }

  .grem-products-section .grem-inline-title>a{
    font-size:11px!important;
    white-space:nowrap;
  }

  .grem-product-card h3{
    font-size:11px!important;
  }
}

@media(max-width:390px){
  .grem-products-scroll{
    grid-auto-columns:45%!important;
  }
}


/* =========================================================
   Grem Core 0.9.8 — Area personale completa
   Dashboard / Ordini / Download / Indirizzi / Dettagli account
   ========================================================= */

.grem-account-page{
  background:#fffdfa;
}

.grem-account-page .grem-commerce-head{
  padding-bottom:26px;
}

.grem-native-account{
  padding-bottom:78px!important;
}

.grem-account-loyalty-link{
  border:1px solid rgba(116,50,111,.08)!important;
  background:linear-gradient(115deg,#eee0ee,#f8eff5)!important;
  box-shadow:0 10px 30px rgba(78,46,70,.035);
}

.grem-account-loyalty-link>span{
  box-shadow:0 7px 18px rgba(116,50,111,.16);
}

.grem-native-account .woocommerce{
  align-items:start;
}

/* navigation */
.grem-native-account .woocommerce-MyAccount-navigation ul{
  padding:8px!important;
  border:1px solid #eadfd8!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 7px 24px rgba(72,48,55,.025);
}

.grem-native-account .woocommerce-MyAccount-navigation a{
  position:relative;
  padding:12px 13px!important;
  border-radius:11px!important;
  color:#5c504c!important;
  transition:background .18s ease,color .18s ease;
}

.grem-native-account .woocommerce-MyAccount-navigation a:after{
  content:"→";
  position:absolute;
  right:11px;
  color:#9a7b96;
  opacity:.7;
}

.grem-native-account .woocommerce-MyAccount-navigation .is-active a{
  background:var(--grem-purple)!important;
  color:#fff!important;
}

.grem-native-account .woocommerce-MyAccount-navigation .is-active a:after{
  color:#fff;
}

.grem-native-account .woocommerce-MyAccount-navigation-link--customer-logout a{
  color:#8a6f68!important;
}

/* main content */
.grem-native-account .woocommerce-MyAccount-content{
  border:1px solid #eadfd8!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:28px!important;
  box-shadow:0 9px 28px rgba(72,48,55,.025);
}

.grem-native-account .woocommerce-MyAccount-content>p{
  color:#655956;
  font-size:12px;
  line-height:1.7;
}

.grem-native-account .woocommerce-MyAccount-content>p:first-child{
  font-size:13px;
}

.grem-native-account .woocommerce-MyAccount-content a{
  color:var(--grem-purple);
  text-underline-offset:2px;
}

/* Dashboard quick links */
.grem-account-dashboard-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}

.grem-account-dashboard-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:105px;
  padding:15px;
  border:1px solid #eee2dc;
  border-radius:15px;
  background:#fdfaf7;
  color:inherit!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.grem-account-dashboard-card:hover{
  transform:translateY(-2px);
  border-color:#dcc8d9;
  box-shadow:0 10px 25px rgba(70,43,62,.06);
}

.grem-account-dashboard-card-love{
  background:linear-gradient(120deg,#f1e4f0,#fbf4f8);
  border-color:#e3d0e1;
}

.grem-account-card-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f1e7e1;
  color:var(--grem-purple);
  font:20px Marcellus,serif;
}

.grem-account-dashboard-card-love .grem-account-card-icon{
  background:var(--grem-purple);
  color:#fff;
}

.grem-account-dashboard-card small{
  display:block;
  color:#8a747c;
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
}

.grem-account-dashboard-card strong{
  display:block;
  margin:3px 0 1px;
  color:var(--grem-purple);
  font:28px Marcellus,serif;
  line-height:1;
}

.grem-account-dashboard-card strong.grem-account-card-word{
  font-size:18px;
  line-height:1.15;
}

.grem-account-dashboard-card p{
  margin:0!important;
  color:#766965!important;
  font-size:9px!important;
}

.grem-account-dashboard-card i{
  color:var(--grem-purple);
  font-style:normal;
  font-size:17px;
}

/* Generic Woo account titles */
.grem-native-account .woocommerce-MyAccount-content h2,
.grem-native-account .woocommerce-MyAccount-content h3{
  margin-top:0;
  color:#332a28;
  font-family:Marcellus,Georgia,serif;
  font-weight:400;
}

.grem-native-account .woocommerce-MyAccount-content h2{
  font-size:33px;
}

.grem-native-account .woocommerce-MyAccount-content h3{
  font-size:24px;
}

/* Orders + Downloads tables */
.grem-native-account table.shop_table,
.grem-native-account table.woocommerce-orders-table,
.grem-native-account table.woocommerce-table--order-downloads{
  width:100%!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0 7px!important;
  background:transparent!important;
}

.grem-native-account table.shop_table thead th{
  padding:4px 10px 7px!important;
  border:0!important;
  color:#927f78;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.grem-native-account table.shop_table tbody tr{
  background:#fcf8f5;
}

.grem-native-account table.shop_table tbody td{
  padding:12px 10px!important;
  border-top:1px solid #eee2dc!important;
  border-bottom:1px solid #eee2dc!important;
  font-size:10px!important;
  vertical-align:middle!important;
}

.grem-native-account table.shop_table tbody td:first-child{
  border-left:1px solid #eee2dc!important;
  border-radius:11px 0 0 11px;
}

.grem-native-account table.shop_table tbody td:last-child{
  border-right:1px solid #eee2dc!important;
  border-radius:0 11px 11px 0;
}

.grem-native-account .woocommerce-orders-table__cell-order-number a{
  font-weight:600;
  text-decoration:none;
}

.grem-native-account .woocommerce-orders-table__cell-order-actions .button,
.grem-native-account .woocommerce-table--order-downloads .button{
  margin:2px!important;
  white-space:nowrap;
}

/* Addresses */
.grem-native-account .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin:18px 0 0!important;
}

.grem-native-account .woocommerce-Address{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid #eadfd8!important;
  border-radius:15px!important;
  background:#fcf8f5!important;
}

.grem-native-account .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.grem-native-account .woocommerce-Address-title h3{
  margin:0!important;
  font-size:23px!important;
}

.grem-native-account .woocommerce-Address-title a{
  float:none!important;
  display:inline-flex;
  padding:7px 11px;
  border:1px solid #dbcbd4;
  border-radius:999px;
  text-decoration:none;
  font-size:9px;
  font-weight:600;
}

.grem-native-account address{
  color:#675b57;
  font-size:11px;
  font-style:normal;
  line-height:1.7;
}

/* Forms: edit account / address */
.grem-native-account form .form-row{
  margin-bottom:13px!important;
}

.grem-native-account form label{
  display:block;
  margin-bottom:6px;
  color:#675b57;
  font-size:9px!important;
  font-weight:600;
}

.grem-native-account form input.input-text,
.grem-native-account form input[type="email"],
.grem-native-account form input[type="password"],
.grem-native-account form input[type="tel"],
.grem-native-account form textarea,
.grem-native-account form select,
.grem-native-account .select2-selection{
  width:100%!important;
  min-height:44px!important;
  border:1px solid #ddd1ca!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#4d4441!important;
  font:11px Poppins,sans-serif!important;
}

.grem-native-account form input.input-text,
.grem-native-account form input[type="email"],
.grem-native-account form input[type="password"],
.grem-native-account form input[type="tel"],
.grem-native-account form textarea{
  padding:10px 12px!important;
}

.grem-native-account fieldset{
  margin:24px 0 18px!important;
  padding:18px!important;
  border:1px solid #eadfd8!important;
  border-radius:14px!important;
  background:#fcf8f5;
}

.grem-native-account fieldset legend{
  padding:0 8px;
  color:var(--grem-purple);
  font:20px Marcellus,serif;
}

.grem-native-account em{
  color:#8a7a75;
  font-size:9px;
}

/* Order detail */
.grem-native-account .woocommerce-order-details,
.grem-native-account .woocommerce-customer-details{
  margin-top:20px;
}

.grem-native-account .woocommerce-order-details__title,
.grem-native-account .woocommerce-column__title{
  font-size:28px!important;
}

.grem-native-account .woocommerce-customer-details address{
  padding:16px!important;
  border:1px solid #eadfd8!important;
  border-radius:14px!important;
  background:#fcf8f5!important;
}

/* Empty states / notices */
.grem-native-account .woocommerce-info,
.grem-native-account .woocommerce-message,
.grem-native-account .woocommerce-error{
  margin:0 0 16px!important;
  padding:14px 16px!important;
  border:1px solid #eadfd8!important;
  border-top:0!important;
  border-radius:13px!important;
  background:#faf5f1!important;
  font-size:10px!important;
  line-height:1.5!important;
}

.grem-native-account .woocommerce-info:before,
.grem-native-account .woocommerce-message:before{
  color:var(--grem-purple)!important;
}

/* Login / register when account is logged out */
.grem-native-account #customer_login{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.grem-native-account #customer_login .u-column1,
.grem-native-account #customer_login .u-column2{
  float:none!important;
  width:auto!important;
  padding:22px!important;
  border:1px solid #eadfd8;
  border-radius:16px;
  background:#fff;
}

/* Mobile account */
@media(max-width:900px){
  .grem-account-page .grem-commerce-head{
    padding:34px 16px 18px!important;
  }

  .grem-account-page .grem-commerce-head h1{
    font-size:38px!important;
    overflow-wrap:normal!important;
  }

  .grem-native-account{
    padding:0 14px 58px!important;
  }

  .grem-account-loyalty-link{
    padding:14px!important;
    border-radius:16px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation{
    margin-bottom:14px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:8px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation a{
    min-height:42px;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 20px 8px 8px!important;
    text-align:center!important;
    font-size:10px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation a:after{
    right:8px;
  }

  .grem-native-account .woocommerce-MyAccount-content{
    padding:18px!important;
    border-radius:16px!important;
    overflow:visible!important;
  }

  .grem-account-dashboard-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:18px;
  }

  .grem-account-dashboard-card{
    grid-template-columns:34px minmax(0,1fr);
    min-height:94px;
    padding:12px;
  }

  .grem-account-dashboard-card i{
    display:none;
  }

  .grem-account-card-icon{
    width:34px;
    height:34px;
    font-size:17px;
  }

  .grem-account-dashboard-card strong{
    font-size:24px;
  }

  .grem-account-dashboard-card strong.grem-account-card-word{
    font-size:15px;
  }

  /* Tables -> cards */
  .grem-native-account table.shop_table,
  .grem-native-account table.woocommerce-orders-table,
  .grem-native-account table.woocommerce-table--order-downloads{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
  }

  .grem-native-account table.shop_table thead{
    display:none!important;
  }

  .grem-native-account table.shop_table tbody,
  .grem-native-account table.shop_table tr,
  .grem-native-account table.shop_table td{
    display:block!important;
    width:100%!important;
  }

  .grem-native-account table.shop_table tbody tr{
    margin:0 0 10px!important;
    padding:9px 12px!important;
    border:1px solid #eadfd8!important;
    border-radius:14px!important;
    background:#fcf8f5!important;
  }

  .grem-native-account table.shop_table tbody td{
    display:grid!important;
    grid-template-columns:minmax(90px,38%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:7px 0!important;
    border:0!important;
    border-bottom:1px solid #eee4de!important;
    border-radius:0!important;
    text-align:right!important;
    font-size:10px!important;
  }

  .grem-native-account table.shop_table tbody td:last-child{
    border-bottom:0!important;
  }

  .grem-native-account table.shop_table tbody td:before{
    content:attr(data-title);
    color:#84736e;
    font-size:8px;
    font-weight:600;
    text-align:left;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .grem-native-account .woocommerce-orders-table__cell-order-actions{
    display:block!important;
    text-align:left!important;
    padding-top:9px!important;
  }

  .grem-native-account .woocommerce-orders-table__cell-order-actions:before{
    display:none;
  }

  /* Address */
  .grem-native-account .woocommerce-Addresses{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* Forms */
  .grem-native-account form input.input-text,
  .grem-native-account form input[type="email"],
  .grem-native-account form input[type="password"],
  .grem-native-account form input[type="tel"],
  .grem-native-account form textarea,
  .grem-native-account form select,
  .grem-native-account .select2-selection{
    font-size:17px!important; /* niente zoom iPhone */
  }

  .grem-native-account fieldset{
    padding:14px!important;
  }

  .grem-native-account #customer_login{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media(max-width:520px){
  .grem-account-page .grem-commerce-head h1{
    font-size:36px!important;
  }

  .grem-account-dashboard-grid{
    grid-template-columns:1fr;
  }

  .grem-account-dashboard-card{
    min-height:82px;
  }

  .grem-native-account .woocommerce-MyAccount-content{
    padding:15px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation ul{
    gap:6px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation a{
    min-height:39px;
    font-size:9px!important;
  }
}


/* Grem Core 0.9.9 — Account endpoint routing guard */
.grem-account-page .woocommerce-MyAccount-content{
  min-width:0!important;
  max-width:100%!important;
}


/* =========================================================
   Grem Core 1.0.0 — Commerce Flow
   Product options / Cart / Checkout / Thank you
   ========================================================= */

/* Native Woo product options embedded inside Grem product page */
.grem-native-product-options{
  margin:18px 0 4px;
  padding:14px;
  border:1px solid #eadfd8;
  border-radius:14px;
  background:#fcf8f5;
}
.grem-native-product-options form.cart{
  margin:0!important;
}
.grem-native-product-options table{
  width:100%!important;
  border-collapse:collapse!important;
  margin:0 0 10px!important;
}
.grem-native-product-options td,
.grem-native-product-options th{
  padding:7px 4px!important;
  border:0!important;
  font-size:11px!important;
  text-align:left!important;
}
.grem-native-product-options label{
  color:#655956!important;
  font-size:10px!important;
  font-weight:600!important;
}
.grem-native-product-options select,
.grem-native-product-options input[type="text"],
.grem-native-product-options input[type="email"],
.grem-native-product-options input[type="number"]{
  min-height:42px!important;
  border:1px solid #ddd1ca!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:9px 10px!important;
  font:11px Poppins,sans-serif!important;
}
.grem-native-product-options button,
.grem-native-product-options .single_add_to_cart_button{
  min-height:44px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--grem-purple)!important;
  color:#fff!important;
  padding:11px 18px!important;
  font:600 10px Poppins,sans-serif!important;
}
.grem-native-product-options .reset_variations{
  color:var(--grem-purple)!important;
  font-size:10px!important;
}

/* Checkout */
.grem-checkout-page .grem-commerce-head{
  padding-bottom:22px!important;
}
.grem-native-checkout .woocommerce-form-coupon-toggle,
.grem-native-checkout .woocommerce-form-login-toggle{
  margin-bottom:10px;
}
.grem-native-checkout .woocommerce-info{
  color:#625653!important;
}
.grem-native-checkout .woocommerce-info a{
  font-weight:600;
}
.grem-native-checkout .woocommerce-checkout-review-order-table .product-name{
  line-height:1.35;
}
.grem-native-checkout .woocommerce-privacy-policy-text{
  color:#776b67;
  font-size:9px;
  line-height:1.5;
}
.grem-native-checkout .woocommerce-terms-and-conditions-wrapper{
  margin-bottom:12px;
}
.grem-native-checkout .woocommerce-invalid input,
.grem-native-checkout .woocommerce-invalid-required-field input,
.grem-native-checkout .woocommerce-invalid .select2-selection{
  border-color:#b74f62!important;
  background:#fff9fa!important;
}
.grem-native-checkout .woocommerce-error{
  color:#7c2e3d!important;
  background:#fff4f6!important;
  border-color:#efcbd3!important;
}
.grem-native-checkout #place_order{
  font-size:12px!important;
  box-shadow:0 8px 22px rgba(116,50,111,.15)!important;
}
.grem-native-checkout #place_order:hover{
  background:var(--grem-purple-dark)!important;
}

/* Thank-you */
.grem-thankyou-page{
  min-height:70vh;
  padding:54px 20px 80px;
  background:#fffdfa;
}
.grem-thankyou-shell{
  max-width:820px;
  margin:0 auto;
}
.grem-thankyou-mark{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  margin-bottom:18px;
  background:var(--grem-purple);
  color:#fff;
  font:32px Marcellus,serif;
  box-shadow:0 10px 28px rgba(116,50,111,.15);
}
.grem-thankyou-shell>h1{
  margin:0 0 10px;
  font-size:57px;
  line-height:1;
}
.grem-thankyou-intro{
  max-width:560px;
  margin:0 0 26px;
  color:#6d605c;
  font-size:13px;
  line-height:1.65;
}
.grem-thankyou-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:16px;
}
.grem-thankyou-meta>div{
  padding:14px;
  border:1px solid #eadfd8;
  border-radius:13px;
  background:#fcf8f5;
}
.grem-thankyou-meta small{
  display:block;
  margin-bottom:4px;
  color:#8e7a74;
  font-size:8px;
  font-weight:600;
  letter-spacing:.09em;
}
.grem-thankyou-meta strong{
  display:block;
  color:#4d413e;
  font-size:12px;
}
.grem-thankyou-card{
  padding:22px;
  border:1px solid #eadfd8;
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 28px rgba(72,48,55,.025);
}
.grem-thankyou-card h2{
  margin:0 0 15px;
  font-size:31px;
}
.grem-thankyou-products article{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #eee4de;
}
.grem-thankyou-products img{
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:9px;
  background:#f8f3ef;
  padding:5px;
}
.grem-thankyou-products b{
  display:block;
  font-size:11px;
}
.grem-thankyou-products small{
  display:block;
  margin-top:3px;
  color:#81736e;
  font-size:9px;
}
.grem-thankyou-products strong{
  font-size:11px;
}
.grem-thankyou-totals{
  max-width:360px;
  margin:15px 0 0 auto;
}
.grem-thankyou-totals>div{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:6px 0;
  font-size:10px;
}
.grem-thankyou-totals dt{
  color:#776b67;
}
.grem-thankyou-totals dd{
  margin:0;
  font-weight:600;
  text-align:right;
}
.grem-thankyou-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
}

@media(max-width:900px){
  .grem-native-product-options select,
  .grem-native-product-options input[type="text"],
  .grem-native-product-options input[type="email"],
  .grem-native-product-options input[type="number"]{
    font-size:17px!important;
  }

  .grem-native-checkout{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .grem-native-checkout #customer_details .col-1,
  .grem-native-checkout #customer_details .col-2,
  .grem-native-checkout #order_review{
    padding:17px!important;
  }

  .grem-thankyou-page{
    padding:38px 16px 65px;
  }

  .grem-thankyou-shell>h1{
    font-size:41px;
  }

  .grem-thankyou-meta{
    grid-template-columns:1fr 1fr;
  }

  .grem-thankyou-card{
    padding:17px;
  }
}

@media(max-width:520px){
  .grem-thankyou-mark{
    width:54px;
    height:54px;
    font-size:29px;
  }

  .grem-thankyou-shell>h1{
    font-size:37px;
  }

  .grem-thankyou-meta{
    gap:7px;
  }

  .grem-thankyou-meta>div{
    padding:11px;
  }

  .grem-thankyou-products article{
    grid-template-columns:48px minmax(0,1fr);
  }

  .grem-thankyou-products img{
    width:48px;
    height:48px;
  }

  .grem-thankyou-products article>strong{
    grid-column:2;
    text-align:left;
  }

  .grem-thankyou-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .grem-thankyou-actions .grem-btn{
    width:auto!important;
  }
}


/* =========================================================
   Grem Core 1.0.1 — Gift Card redemption in custom cart
   ========================================================= */
.grem-gift-card-box{
  margin:14px 0 16px;
  padding:14px;
  border:1px solid #e2d0df;
  border-radius:14px;
  background:linear-gradient(120deg,#f3e8f2,#fcf7fa);
}

.grem-gift-card-heading{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin-bottom:10px;
}

.grem-gift-card-heading>span{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--grem-purple);
  color:#fff;
  font-size:14px;
}

.grem-gift-card-heading b{
  display:block;
  color:#4d3d4a;
  font-size:11px;
}

.grem-gift-card-heading small{
  display:block;
  margin-top:2px;
  color:#7c6a76;
  font-size:9px;
  line-height:1.4;
}

.grem-gift-card-form>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
}

.grem-gift-card-form input{
  min-width:0;
  height:42px;
  border:1px solid #d8c4d5;
  border-right:0;
  border-radius:10px 0 0 10px;
  background:#fff;
  padding:9px 11px;
  color:#4e4148;
  font:11px Poppins,sans-serif;
}

.grem-gift-card-form button{
  min-width:88px;
  border:0;
  border-radius:0 10px 10px 0;
  background:var(--grem-purple);
  color:#fff;
  padding:0 12px;
  font:600 9px Poppins,sans-serif;
  cursor:pointer;
}

.grem-applied-gift-cards{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:10px;
}

.grem-applied-gift-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 24px;
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border:1px solid #e4d6e1;
  border-radius:10px;
  background:rgba(255,255,255,.72);
}

.grem-applied-gift-card span small{
  display:block;
  color:#8b7786;
  font-size:8px;
}

.grem-applied-gift-card span b{
  display:block;
  margin-top:1px;
  color:#5c4958;
  font-size:10px;
}

.grem-applied-gift-card strong{
  color:var(--grem-purple);
  font-size:10px;
}

.grem-applied-gift-card button{
  width:24px;
  height:24px;
  border:0;
  border-radius:50%;
  background:#f0e5ed;
  color:var(--grem-purple);
  font:16px/1 Poppins,sans-serif;
  cursor:pointer;
}

@media(max-width:900px){
  .grem-gift-card-form input{
    font-size:17px!important; /* evita zoom Safari */
  }
}

@media(max-width:520px){
  .grem-gift-card-box{
    padding:12px;
  }

  .grem-gift-card-form>div{
    grid-template-columns:1fr;
    gap:7px;
  }

  .grem-gift-card-form input,
  .grem-gift-card-form button{
    width:100%;
    border:1px solid #d8c4d5;
    border-radius:10px;
  }

  .grem-gift-card-form button{
    min-height:40px;
    border-color:var(--grem-purple);
  }
}


/* =========================================================
   Grem Core 1.2.0 — Footer + pagine informative/legali
   ========================================================= */

.grem-footer-v2{
  max-width:none!important;
  display:block!important;
  padding:0!important;
  border-top:1px solid var(--grem-line);
  background:#fffdfa;
}

.grem-footer-top{
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:1.45fr repeat(3,.8fr);
  gap:40px;
  padding:42px 20px 34px;
}

.grem-footer-v2 .grem-footer-brand img{
  height:48px;
  width:auto;
}

.grem-footer-v2 .grem-footer-brand p{
  max-width:260px;
  margin:9px 0 14px;
  color:#655956;
  font-size:11px;
  line-height:1.6;
}

.grem-footer-contact-cta{
  color:var(--grem-purple)!important;
  text-decoration:none;
  font-size:10px;
  font-weight:600;
}

.grem-footer-group{
  border:0;
}

.grem-footer-group summary{
  list-style:none;
  cursor:default;
  color:#403633;
  font-size:11px;
  font-weight:600;
  margin-bottom:10px;
}

.grem-footer-group summary::-webkit-details-marker{display:none}
.grem-footer-group summary span{display:none}

.grem-footer-group nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.grem-footer-group nav a{
  color:#6b5f5b;
  text-decoration:none;
  font-size:10px;
  line-height:1.35;
}

.grem-footer-group nav a:hover{
  color:var(--grem-purple);
}

.grem-footer-company{
  border-top:1px solid #eee4de;
  border-bottom:1px solid #eee4de;
  padding:14px 20px;
  text-align:center;
}

.grem-footer-company p{
  margin:2px 0;
  color:#786b67;
  font-size:9px;
  line-height:1.5;
}

.grem-footer-bottom{
  max-width:1180px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:15px 20px 22px;
}

.grem-footer-bottom p{
  margin:0;
  color:#81746f;
  font-size:9px;
}

.grem-footer-bottom a{
  color:inherit;
  text-decoration:none;
}

/* Information / legal pages */
.grem-info-page{
  min-height:70vh;
  background:#fffdfa;
}

.grem-info-hero{
  max-width:1000px;
  margin:auto;
  padding:64px 20px 32px;
}

.grem-info-hero h1{
  max-width:780px;
  margin:0 0 10px;
  font-size:58px;
  line-height:1;
}

.grem-info-hero>p:last-child{
  max-width:620px;
  margin:0;
  color:#6e615d;
  font-size:13px;
  line-height:1.6;
}

.grem-info-layout{
  max-width:1000px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:34px;
  align-items:start;
  padding:0 20px 78px;
}

.grem-info-content{
  min-width:0;
  padding:28px;
  border:1px solid #eadfd8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px rgba(72,48,55,.025);
}

.grem-info-content h2{
  margin:30px 0 9px;
  color:#382e2b;
  font-size:29px;
  line-height:1.1;
}

.grem-info-content h2:first-child{
  margin-top:0;
}

.grem-info-content h3{
  margin:24px 0 8px;
  font-size:22px;
}

.grem-info-content p,
.grem-info-content li{
  color:#615653;
  font-size:12px;
  line-height:1.78;
}

.grem-info-content p{
  margin:0 0 14px;
}

.grem-info-content ul{
  margin:0 0 18px;
  padding-left:20px;
}

.grem-info-aside{
  position:sticky;
  top:96px;
  padding:21px;
  border-radius:17px;
  background:#f3e9e3;
}

.grem-info-aside img{
  display:block;
  height:44px;
  width:auto;
  margin-bottom:15px;
}

.grem-info-aside h2{
  margin:0 0 8px;
  font-size:24px;
}

.grem-info-aside p{
  margin:0 0 14px;
  color:#6e625d;
  font-size:9px;
  line-height:1.65;
}

.grem-info-aside a{
  color:var(--grem-purple);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
}

.grem-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:28px;
}

.grem-contact-grid a{
  display:flex;
  flex-direction:column;
  min-height:125px;
  padding:16px;
  border:1px solid #eadfd8;
  border-radius:14px;
  background:#fcf8f5;
  color:inherit!important;
  text-decoration:none!important;
}

.grem-contact-grid small{
  color:#88746f;
  font-size:7px;
  font-weight:600;
  letter-spacing:.1em;
}

.grem-contact-grid b{
  margin:7px 0 auto;
  color:#453936;
  font-size:11px;
  overflow-wrap:anywhere;
}

.grem-contact-grid span{
  margin-top:12px;
  color:var(--grem-purple);
  font-size:9px;
  font-weight:600;
}

.grem-legal-draft-note{
  margin-top:28px;
  padding:13px 15px;
  border:1px solid #efd5a9;
  border-radius:12px;
  background:#fff8eb;
  color:#725b35;
  font-size:9px;
  line-height:1.55;
}

/* Mobile footer = native accordion */
@media(max-width:900px){
  .grem-footer-top{
    grid-template-columns:1fr;
    gap:0;
    padding:34px 16px 20px;
  }

  .grem-footer-v2 .grem-footer-brand{
    padding-bottom:22px;
  }

  .grem-footer-group{
    border-top:1px solid #eee4de;
  }

  .grem-footer-group:last-child{
    border-bottom:1px solid #eee4de;
  }

  .grem-footer-group summary{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    margin:0;
    cursor:pointer;
    font-size:11px;
  }

  .grem-footer-group summary span{
    display:block;
    color:var(--grem-purple);
    font-size:17px;
    font-weight:400;
    transition:transform .18s ease;
  }

  .grem-footer-group[open] summary span{
    transform:rotate(45deg);
  }

  .grem-footer-group nav{
    padding:0 0 15px;
  }

  .grem-footer-group nav a{
    font-size:11px;
  }

  .grem-footer-company{
    padding:14px 16px;
    text-align:left;
  }

  .grem-footer-company p{
    font-size:9px;
  }

  .grem-footer-bottom{
    display:block;
    padding:14px 16px 22px;
  }

  .grem-footer-bottom p{
    margin:0 0 5px;
    font-size:9px;
    line-height:1.5;
  }

  .grem-info-hero{
    padding:42px 16px 24px;
  }

  .grem-info-hero h1{
    font-size:40px;
  }

  .grem-info-layout{
    grid-template-columns:1fr;
    gap:14px;
    padding:0 14px 60px;
  }

  .grem-info-content{
    padding:20px;
  }

  .grem-info-content h2{
    font-size:27px;
  }

  .grem-info-content p,
  .grem-info-content li{
    font-size:12px;
  }

  .grem-info-aside{
    position:relative;
    top:auto;
  }

  .grem-contact-grid{
    grid-template-columns:1fr;
  }

  .grem-contact-grid a{
    min-height:102px;
  }
}

@media(min-width:901px){
  /* details behave as normal columns on desktop even if not "open" */
  .grem-footer-group>nav{
    display:flex!important;
  }
}
\n\n/* Grem Core 1.2.1 — iPhone login/register zoom fix */\n@media(max-width:900px){\n  .grem-auth-box input,\n  .grem-login-box input,\n  .grem-register-page input,\n  .grem-native-account #customer_login input[type="text"],\n  .grem-native-account #customer_login input[type="email"],\n  .grem-native-account #customer_login input[type="password"],\n  .grem-native-account .woocommerce-form-login input[type="text"],\n  .grem-native-account .woocommerce-form-login input[type="email"],\n  .grem-native-account .woocommerce-form-login input[type="password"],\n  .grem-native-account .woocommerce-form-register input[type="text"],\n  .grem-native-account .woocommerce-form-register input[type="email"],\n  .grem-native-account .woocommerce-form-register input[type="password"],\n  #user_login,#user_pass{font-size:16px!important;}\n}\n

/* =========================================================
   Grem Core 1.3.0 — Registration & Verification
   ========================================================= */

.grem-register-intro{
  margin:0 0 18px;
  padding:16px;
  border-radius:14px;
  background:linear-gradient(120deg,#f3e8f2,#fcf7fa);
}
.grem-register-intro .grem-eyebrow{margin:0 0 6px!important}
.grem-register-intro h3{
  margin:0 0 6px!important;
  color:#382e2b;
  font-family:Marcellus,Georgia,serif;
  font-size:25px!important;
  font-weight:400;
}
.grem-register-intro p:last-child{
  margin:0!important;
  color:#766865!important;
  font-size:10px!important;
  line-height:1.55!important;
}

.grem-register-name-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.grem-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.grem-turnstile-wrap{
  margin:14px 0;
}

.grem-register-security-note{
  margin:12px 0 0!important;
  color:#857773!important;
  font-size:8px!important;
  line-height:1.55!important;
}

.grem-verification-banner,
.grem-verification-success,
.grem-verification-alert{
  margin:0 0 14px;
  border-radius:14px;
}

.grem-verification-banner{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:14px;
  border:1px solid #e4d1df;
  background:linear-gradient(120deg,#f3e8f2,#fcf7fa);
}

.grem-verification-banner>span{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#74326f;color:#fff;
  font-size:17px;
}

.grem-verification-banner b{
  display:block;
  color:#493846;
  font-size:10px;
}

.grem-verification-banner p{
  margin:3px 0 0!important;
  color:#766571!important;
  font-size:8px!important;
  line-height:1.45!important;
}

.grem-verification-banner form{margin:0}
.grem-verification-banner button{
  min-height:34px;
  border:0;
  border-radius:999px;
  background:#74326f;
  color:#fff;
  padding:0 12px;
  font:600 8px Poppins,sans-serif;
  cursor:pointer;
}

.grem-verification-success,
.grem-verification-alert{
  padding:12px 14px;
}
.grem-verification-success{
  border:1px solid #cfe1d2;
  background:#f3faf4;
  color:#42634a;
}
.grem-verification-alert{
  border:1px solid #ead3b9;
  background:#fff8ef;
  color:#795d39;
}
.grem-verification-success b,
.grem-verification-alert b{
  display:block;
  font-size:10px;
}
.grem-verification-success span,
.grem-verification-alert span{
  display:block;
  margin-top:2px;
  font-size:8px;
}

/* Safari: niente zoom su login, registrazione, lost password */
@media(max-width:900px){
  .grem-native-account #customer_login input,
  .grem-native-account .woocommerce-form-login input,
  .grem-native-account .woocommerce-form-register input,
  .grem-native-account .woocommerce-ResetPassword input,
  .grem-register-name-grid input{
    font-size:16px!important;
  }
}

@media(max-width:620px){
  .grem-register-name-grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .grem-verification-banner{
    grid-template-columns:36px minmax(0,1fr);
  }

  .grem-verification-banner>span{
    width:36px;height:36px;
  }

  .grem-verification-banner form{
    grid-column:1 / -1;
  }

  .grem-verification-banner button{
    width:100%;
    min-height:40px;
  }
}


/* =========================================================
   Grem Core 1.4.1 — Desktop-only visual refinement
   IMPORTANT: no rules below apply at <= 900px.
   ========================================================= */
@media (min-width:901px){
  /* 1 — Hero: move the background image down inside the SAME hero,
     revealing more of the model's face without changing section height/content. */
  .grem-hero{
    background-position:center 32%!important;
  }

  /* 2 — Home Collection: stronger visual weight vs Routine.
     Four premium-size cards in the desktop viewport, horizontal continuation preserved. */
  .grem-products-section{
    padding-top:30px!important;
    padding-bottom:72px!important;
  }
  .grem-products-scroll{
    grid-auto-columns:calc((100% - 42px)/4)!important;
    gap:14px!important;
    padding-bottom:12px!important;
  }
  .grem-product-img{
    aspect-ratio:1 / 1.03!important;
    padding:14px!important;
    border-radius:15px!important;
  }
  .grem-product-img img{
    max-width:98%!important;
    max-height:96%!important;
  }
  .grem-product-visual-burro .grem-product-img img{max-width:98%!important;max-height:86%!important}
  .grem-product-visual-contorno .grem-product-img img{max-width:94%!important;max-height:84%!important}
  .grem-product-visual-crema .grem-product-img img{max-width:96%!important;max-height:87%!important}
  .grem-product-visual-maschera .grem-product-img img{max-width:96%!important;max-height:87%!important}
  .grem-product-visual-detergente .grem-product-img img{max-width:78%!important;max-height:98%!important}
  .grem-product-visual-scrub .grem-product-img img{max-width:80%!important;max-height:98%!important}
  .grem-product-visual-siero .grem-product-img img{max-width:73%!important;max-height:97%!important}
  .grem-product-visual-gift .grem-product-img img{max-width:100%!important;max-height:90%!important}
  .grem-product-card h3{
    margin:10px 6px 0!important;
    font-size:13px!important;
    line-height:1.3!important;
  }

  /* 3 — Footer desktop: render Assistance / Grem / Legal as permanently open columns.
     Mobile remains the existing accordion. */
  .grem-footer-group>nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
  }
  .grem-footer-group summary{
    pointer-events:none;
  }

  /* 4 — Logged-out My Account: Login + Register locked to one aligned row. */
  .grem-native-account #customer_login{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:24px!important;
    align-items:start!important;
    width:100%!important;
  }
  .grem-native-account #customer_login .u-column1,
  .grem-native-account #customer_login .u-column2{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    margin-top:0!important;
    clear:none!important;
    align-self:start!important;
  }
  .grem-native-account #customer_login .u-column1{grid-column:1!important;grid-row:1!important}
  .grem-native-account #customer_login .u-column2{grid-column:2!important;grid-row:1!important}
  .grem-native-account #customer_login .u-column1>h2,
  .grem-native-account #customer_login .u-column2>h2{
    margin-top:0!important;
  }
}


/* =========================================================
   Grem Core 1.4.2 — Desktop-only account refinement
   IMPORTANT: absolutely no rules below apply at <= 900px.
   ========================================================= */
@media (min-width:901px){

  /* Center the complete Login / Register 50-50 row in the page. */
  .grem-native-account #customer_login{
    width:calc(100% - 96px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* WooCommerce privacy copy under registration:
     intentionally much smaller on desktop only. */
  .grem-native-account #customer_login .woocommerce-privacy-policy-text,
  .grem-native-account #customer_login .woocommerce-privacy-policy-text p{
    font-size:8.5px!important;
    line-height:1.5!important;
    color:#837773!important;
  }

  .grem-native-account #customer_login .woocommerce-privacy-policy-text a{
    font-size:inherit!important;
    line-height:inherit!important;
  }
}


/* =========================================================
   Grem Core 1.4.3 — My Account mobile polish
   Scope: ONLY .grem-account-page / .grem-native-account
   No other site section is changed.
   ========================================================= */
@media (max-width:900px){

  /* Prevent any WooCommerce form/widget from widening the page. */
  .grem-account-page{
    overflow-x:clip!important;
  }

  .grem-native-account,
  .grem-native-account *,
  .grem-native-account *::before,
  .grem-native-account *::after{
    box-sizing:border-box!important;
  }

  .grem-native-account{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .grem-native-account .woocommerce{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
  }

  /* Logged-out account: clean single-column stack, fully inside viewport. */
  .grem-native-account #customer_login{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .grem-native-account #customer_login .u-column1,
  .grem-native-account #customer_login .u-column2{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 12px!important;
    padding:16px!important;
    border-radius:14px!important;
  }

  .grem-native-account #customer_login .u-column1>h2,
  .grem-native-account #customer_login .u-column2>h2{
    margin:0 0 13px!important;
    font-size:27px!important;
    line-height:1.15!important;
  }

  .grem-native-account #customer_login form.login,
  .grem-native-account #customer_login form.register,
  .grem-native-account #customer_login .woocommerce-form-login,
  .grem-native-account #customer_login .woocommerce-form-register{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:14px!important;
    border-radius:12px!important;
  }

  .grem-native-account #customer_login .form-row,
  .grem-native-account #customer_login input,
  .grem-native-account #customer_login textarea,
  .grem-native-account #customer_login select{
    max-width:100%!important;
  }

  /* Keep Cloudflare Turnstile contained inside the registration card. */
  .grem-native-account .grem-turnstile-wrap,
  .grem-native-account .cf-turnstile{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .grem-native-account .cf-turnstile iframe{
    max-width:100%!important;
  }

  /* Privacy copy: discreet legal copy, not a visual headline. */
  .grem-native-account #customer_login .woocommerce-privacy-policy-text{
    margin:12px 0 10px!important;
    max-width:100%!important;
  }

  .grem-native-account #customer_login .woocommerce-privacy-policy-text,
  .grem-native-account #customer_login .woocommerce-privacy-policy-text p,
  .grem-native-account #customer_login .woocommerce-privacy-policy-text a{
    font-size:9.5px!important;
    line-height:1.55!important;
  }

  .grem-native-account #customer_login .woocommerce-privacy-policy-text p{
    margin:0!important;
    color:#7c706c!important;
  }

  /* Small optical cleanup for the account promo card. */
  .grem-native-account .grem-account-loyalty-link{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

@media (max-width:380px){
  .grem-native-account{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .grem-native-account #customer_login .u-column1,
  .grem-native-account #customer_login .u-column2{
    padding:14px!important;
  }

  .grem-native-account #customer_login form.login,
  .grem-native-account #customer_login form.register,
  .grem-native-account #customer_login .woocommerce-form-login,
  .grem-native-account #customer_login .woocommerce-form-register{
    padding:12px!important;
  }
}


/* =========================================================
   Grem Core 1.4.5 — Production commerce hotfix
   Keep the quantity value visible even when the legacy live theme
   contributes global input styles through wp_head().
   ========================================================= */
.grem-single-product .grem-qty input[type="number"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:31px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:#fff!important;
  color:#332a28!important;
  -webkit-text-fill-color:#332a28!important;
  font-family:Poppins,sans-serif!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:31px!important;
  text-align:center!important;
  box-shadow:none!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.grem-single-product .grem-qty input[type="number"]::-webkit-inner-spin-button,
.grem-single-product .grem-qty input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}


/* =========================================================
   Grem Core 1.4.6 — Routine Home only
   4 daily gestures + 2 weekly complementary treatments.
   No other site section is modified.
   ========================================================= */
@media (min-width:901px){
  .grem-routine{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .grem-routine-image{
    height:195px!important;
  }
}
.grem-routine-card{
  position:relative;
}
.grem-routine-card.is-complementary{
  background:linear-gradient(180deg,#fffdfb 0%,#fbf4fa 100%);
}
.grem-routine-frequency{
  display:block;
  min-height:16px;
  margin:-1px 0 2px;
  color:var(--grem-purple);
  font:500 9px/1.35 Poppins,sans-serif;
  letter-spacing:.015em;
  text-align:center;
}
.grem-routine-card.is-daily .grem-routine-frequency{
  display:none;
}
@media (max-width:900px){
  .grem-routine-frequency{
    font-size:9px;
    margin-top:0;
  }
}


/* =========================================================
   Grem Core 1.4.7 — Cart quantity + Account polish
   Scope ONLY: cart quantity and My Account.
   ========================================================= */

/* Cart quantity: keep the numeric value visible on the live theme. */
.grem-cart-page .grem-cart-qty{
  display:grid!important;
  grid-template-columns:36px 42px 36px!important;
  align-items:center!important;
  overflow:hidden!important;
}

.grem-cart-page .grem-cart-qty input[type="number"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:#fff!important;
  color:#332a28!important;
  -webkit-text-fill-color:#332a28!important;
  caret-color:#332a28!important;
  font-family:Poppins,sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:36px!important;
  text-align:center!important;
  box-shadow:none!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}

.grem-cart-page .grem-cart-qty input[type="number"]::-webkit-inner-spin-button,
.grem-cart-page .grem-cart-qty input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}

.grem-cart-page .grem-cart-qty button{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#332a28!important;
  -webkit-text-fill-color:#332a28!important;
  font-size:22px!important;
  line-height:1!important;
}

/* Logout: explicit and always visible when logged in. */
.grem-account-session-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  max-width:100%;
  margin:-4px 0 16px;
  padding:10px 14px;
  border:1px solid #eadfd8;
  border-radius:12px;
  background:#fff;
  color:#766864;
  font:500 10px/1.3 Poppins,sans-serif;
}

.grem-account-session-bar a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 16px;
  border:1px solid rgba(116,50,111,.25);
  border-radius:999px;
  background:#faf5f9;
  color:var(--grem-purple)!important;
  font-weight:600!important;
  text-decoration:none!important;
}

/* Desktop My Account: rebalance the whole page, nothing outside account. */
@media (min-width:901px){
  .grem-account-page .grem-commerce-head{
    max-width:1180px!important;
    margin:0 auto!important;
    padding:54px 28px 24px!important;
  }

  .grem-account-page .grem-commerce-head h1{
    max-width:760px!important;
    margin-bottom:8px!important;
  }

  .grem-account-page .grem-commerce-head>p:last-child{
    max-width:650px!important;
  }

  .grem-native-account{
    width:100%!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:0 28px 80px!important;
    overflow:visible!important;
  }

  .grem-native-account .grem-account-loyalty-link{
    width:100%!important;
    margin:0 0 12px!important;
    padding:18px 20px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
  }

  .grem-native-account .grem-account-loyalty-link b{
    font-size:24px!important;
  }

  .grem-native-account .grem-account-session-bar{
    margin:0 0 18px!important;
  }

  .grem-native-account .woocommerce{
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    gap:22px!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation{
    float:none!important;
    width:100%!important;
    max-width:230px!important;
    margin:0!important;
    position:sticky!important;
    top:92px!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    width:100%!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid #eadfd8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation li{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:42px!important;
    width:100%!important;
    padding:10px 30px 10px 12px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
    color:#554a47!important;
    font-size:11px!important;
    line-height:1.25!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  .grem-native-account .woocommerce-MyAccount-navigation a:after{
    content:"→";
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    color:var(--grem-purple);
    font-size:13px;
  }

  .grem-native-account .woocommerce-MyAccount-navigation .is-active a{
    background:#f1e6ef!important;
    color:var(--grem-purple)!important;
    font-weight:600!important;
  }

  .grem-native-account .woocommerce-MyAccount-content{
    float:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:360px!important;
    margin:0!important;
    padding:28px 30px!important;
    border:1px solid #eadfd8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    font-size:12px!important;
    line-height:1.7!important;
  }

  .grem-native-account .woocommerce-MyAccount-content>h2:first-child,
  .grem-native-account .woocommerce-MyAccount-content>h3:first-child{
    margin-top:0!important;
  }

  .grem-native-account .grem-account-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:22px!important;
  }

  .grem-native-account .grem-account-dashboard-card{
    min-height:116px!important;
    padding:18px!important;
    border-radius:14px!important;
  }

  /* Logged-out state remains centered, balanced 50/50. */
  .grem-native-account #customer_login{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0 auto!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* Mobile: keep current account layout; only make logout clearly reachable. */
@media (max-width:900px){
  .grem-native-account .grem-account-session-bar{
    margin:0 0 12px!important;
    padding:9px 11px!important;
    border-radius:12px!important;
    font-size:9px!important;
  }

  .grem-native-account .grem-account-session-bar a{
    min-height:31px!important;
    padding:7px 14px!important;
    font-size:10px!important;
  }
}


/* =========================================================
   Grem Core 1.5.7 — Desktop wide-screen hero fix
   Scope ONLY: desktop hero >= 901px.
   Fixes content width collapsing at 1920px because the responsive
   left padding was being counted inside the 500px max-width.
   Mobile/tablet <= 900px is untouched.
   ========================================================= */
@media (min-width:901px){
  .grem-hero-copy{
    box-sizing:content-box!important;
    width:500px!important;
    max-width:500px!important;
  }

  .grem-hero-copy h1{
    width:500px!important;
    max-width:500px!important;
    white-space:normal!important;
  }

  .grem-hero-copy p{
    width:390px!important;
    max-width:390px!important;
  }

  .grem-hero-actions{
    width:auto!important;
    max-width:500px!important;
    flex-wrap:nowrap!important;
  }

  .grem-hero-actions .grem-btn{
    width:auto!important;
    white-space:nowrap!important;
  }
}


/* Grem Core 1.5.9 — desktop-only hero line breaks */
.grem-hero-desktop-line{display:inline;}
@media (min-width:901px){
  .grem-hero-desktop-line{display:block;}
}


/* Grem Core 1.5.13 — Product editorial content */
.grem-editorial-benefit-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.grem-editorial-benefit-list li{
  position:relative;
  padding:0 0 0 18px;
  line-height:1.55;
}
.grem-editorial-benefit-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--grem-purple);
}
