/* Demure Elementor widgets — frontend + live editor compatibility. */
.elementor-widget-demure-home-hero,
.elementor-widget-demure-home-benefits,
.elementor-widget-demure-home-collections,
.elementor-widget-demure-home-products,
.elementor-widget-demure-home-story,
.elementor-widget-demure-home-testimonials,
.elementor-widget-demure-home-journal,
.elementor-widget-demure-about-hero,
.elementor-widget-demure-about-origin,
.elementor-widget-demure-about-values,
.elementor-widget-demure-contact-hero,
.elementor-widget-demure-contact-panel,
.elementor-widget-demure-finder-hero,
.elementor-widget-demure-finder-quiz{width:100%;max-width:100%}

.demure-elementor-section{position:relative;width:100%;max-width:100%;min-width:0}
.demure-elementor-section *{box-sizing:border-box}
.demure-elementor-section .container,
.demure-elementor-section .hero-grid,
.demure-elementor-section .story-grid,
.demure-elementor-section .content-grid,
.demure-elementor-section .contact-layout,
.demure-elementor-section .image-hero-grid,
.demure-elementor-section .collection-grid,
.demure-elementor-section .product-grid,
.demure-elementor-section .review-grid,
.demure-elementor-section .values-grid,
.demure-elementor-section .blog-grid{min-width:0;max-width:100%}
.demure-elementor-section img{max-width:100%}
.demure-elementor-section h1,
.demure-elementor-section h2,
.demure-elementor-section h3,
.demure-elementor-section p,
.demure-elementor-section a,
.demure-elementor-section span{overflow-wrap:break-word}
.demure-elementor-section .content-grid.image-right .content-image{order:2}
.demure-elementor-section .review-author .avatar{display:grid!important;place-items:center!important;padding:0!important;text-indent:0!important;line-height:1!important}
.demure-journal-preview .blog-grid{margin-top:0}

/* A visible preview is more important than scroll animation while editing. */
body.demure-elementor-edit-mode .demure-elementor-section .reveal,
.elementor-editor-active .demure-elementor-section .reveal,
.elementor-element-edit-mode .demure-elementor-section .reveal{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important}
body.demure-elementor-edit-mode .demure-elementor-section [data-scent-step][hidden],
body.demure-elementor-edit-mode .demure-elementor-section [data-scent-result][hidden],
.elementor-editor-active .demure-elementor-section [data-scent-step][hidden],
.elementor-editor-active .demure-elementor-section [data-scent-result][hidden]{display:block!important}
body.demure-elementor-edit-mode .demure-editor-step{margin-top:22px;padding-top:22px;border-top:1px dashed var(--line)}
body.demure-elementor-edit-mode .demure-editor-step:first-child{margin-top:0;padding-top:0;border-top:0}

.demure-image-placeholder{width:100%;min-height:280px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed rgba(198,161,91,.75);border-radius:24px;background:linear-gradient(145deg,var(--wine),var(--wine-2));color:#fff;text-align:center}
.demure-image-placeholder span{font:2rem/1 var(--serif);letter-spacing:.2em}
.demure-image-placeholder small{color:#efd591;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

.demure-elementor-section .carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}
.demure-elementor-section .carousel-arrow,
.demure-elementor-section .carousel-dot{border:1px solid var(--line);background:var(--paper);color:var(--wine);cursor:pointer}
.demure-elementor-section .carousel-arrow{width:44px;height:44px;border-radius:50%;font-size:1.15rem}
.demure-elementor-section .carousel-dots{display:flex;gap:7px}
.demure-elementor-section .carousel-dot{width:9px;height:9px;padding:0;border-radius:50%}
.demure-elementor-section .carousel-dot.is-current{background:var(--wine);border-color:var(--wine)}
.demure-elementor-section .carousel-arrow:focus-visible,
.demure-elementor-section .carousel-dot:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Tablet / small laptop. Elementor's default tablet breakpoint is near 1024px. */
@media(max-width:1024px){
	.demure-elementor-section .hero-grid{grid-template-columns:1fr;gap:48px}
	.demure-elementor-section .hero-copy{max-width:760px}
	.demure-elementor-section .hero-media{width:min(100%,720px);margin-inline:auto;padding-left:28px}
	.demure-elementor-section .hero-frame,
	.demure-elementor-section .hero-frame img{min-height:520px}
	.demure-elementor-section .hero-stamp{left:0}

	.demure-elementor-section .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .trust-item:nth-child(2n){border-right:0}
	.demure-elementor-section .trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}

	.demure-elementor-section .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .collection-card:nth-child(2){margin-top:24px}
	.demure-elementor-section .collection-card:nth-child(3){grid-column:1/-1;min-height:380px;margin-top:0}

	.demure-elementor-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .section-head-row{align-items:flex-start;flex-direction:column}

	.demure-elementor-section .story-grid,
	.demure-elementor-section .content-grid,
	.demure-elementor-section .contact-layout{grid-template-columns:1fr;gap:48px}
	.demure-elementor-section .story-media,
	.demure-elementor-section .content-image{width:min(100%,680px);margin-inline:auto}
	.demure-elementor-section .story-media img,
	.demure-elementor-section .content-image img{height:540px}
	.demure-elementor-section .story-quote{right:10px}
	.demure-elementor-section .content-grid.image-right .content-image{order:0}

	.demure-elementor-section .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .review-card.featured{grid-column:1/-1}
	.demure-elementor-section .review-grid.is-carousel{grid-auto-columns:calc((100% - 18px)/2)}

	.demure-elementor-section .values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

	.demure-elementor-section .image-hero-grid{grid-template-columns:1fr}
	.demure-elementor-section .image-hero-copy{padding:58px 36px}
	.demure-elementor-section .image-hero-media img{height:460px}

	.demure-elementor-section .contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.demure-elementor-section .contact-form-shell{width:100%}
	.demure-elementor-section .scent-finder{width:100%}
}

/* Mobile landscape / compact tablet. */
@media(max-width:767px){
	.demure-elementor-section .container{width:min(calc(100% - 30px),var(--container))}
	.demure-elementor-section.section{padding:var(--section-space-mobile) 0}
	.demure-elementor-section .home-hero{padding-inline:0}
	.demure-elementor-section .hero-grid{gap:34px}
	.demure-elementor-section .hero-copy h1{font-size:clamp(2.8rem,12vw,4.8rem)}
	.demure-elementor-section .hero-media{padding:0 18px 22px 20px}
	.demure-elementor-section .hero-frame{border-radius:145px 145px 24px 24px}
	.demure-elementor-section .hero-frame,
	.demure-elementor-section .hero-frame img{min-height:470px}
	.demure-elementor-section .hero-note{right:0;width:min(190px,55vw);padding:14px}
	.demure-elementor-section .hero-stamp{width:84px;font-size:.68rem}

	.demure-elementor-section .collection-grid{grid-template-columns:1fr}
	.demure-elementor-section .collection-card,
	.demure-elementor-section .collection-card:nth-child(2),
	.demure-elementor-section .collection-card:nth-child(3){grid-column:auto;min-height:440px;margin-top:0}

	.demure-elementor-section .story-media img,
	.demure-elementor-section .content-image img{height:clamp(390px,105vw,520px);border-radius:125px 125px 22px 22px}
	.demure-elementor-section .story-quote{left:14px;right:14px;bottom:14px;max-width:none}

	.demure-elementor-section .review-grid:not(.is-carousel){grid-template-columns:1fr}
	.demure-elementor-section .review-card.featured{grid-column:auto;padding:28px}
	.demure-elementor-section .review-grid.is-carousel{grid-auto-columns:min(88%,420px)}

	.demure-elementor-section .contact-cards{grid-template-columns:1fr}
	.demure-elementor-section .contact-form-shell{padding:28px 22px}
	.demure-elementor-section .scent-options{grid-template-columns:1fr}
	.demure-elementor-section .scent-options button{min-height:74px}

	.demure-elementor-section .image-hero-copy{padding:48px 24px}
	.demure-elementor-section .image-hero-media img{height:400px}
	.demure-elementor-section .values-grid{grid-template-columns:1fr}
	.demure-elementor-section .blog-grid{grid-template-columns:1fr}
}

/* Phone. */
@media(max-width:560px){
	.demure-elementor-section .section-head{margin-bottom:28px}
	.demure-elementor-section .section-head-row{margin-bottom:28px;gap:14px}
	.demure-elementor-section .hero-actions{display:grid;grid-template-columns:1fr}
	.demure-elementor-section .hero-actions .btn{width:100%}
	.demure-elementor-section .hero-assurances{display:grid;grid-template-columns:1fr;gap:10px}
	.demure-elementor-section .hero-frame,
	.demure-elementor-section .hero-frame img{min-height:420px}
	.demure-elementor-section .hero-note{position:relative;right:auto;bottom:auto;width:100%;margin:-26px 0 0 auto}
	.demure-elementor-section .hero-stamp{top:8%;left:3px}

	.demure-elementor-section .trust-grid{grid-template-columns:1fr}
	.demure-elementor-section .trust-item{padding:17px 4px;border-right:0;border-bottom:1px solid var(--line)!important}
	.demure-elementor-section .trust-item:last-child{border-bottom:0!important}

	.demure-elementor-section .collection-card,
	.demure-elementor-section .collection-card:nth-child(2),
	.demure-elementor-section .collection-card:nth-child(3){min-height:410px}
	.demure-elementor-section .collection-content{padding:22px}

	.demure-elementor-section .product-grid{grid-template-columns:1fr}
	.demure-elementor-section .product-card{display:block;grid-template-columns:none}
	.demure-elementor-section .product-image{aspect-ratio:.86;min-height:0}
	.demure-elementor-section .product-body{padding:17px;display:block}
	.demure-elementor-section .notes{white-space:normal}

	.demure-elementor-section .review-grid.is-carousel{grid-auto-columns:100%}
	.demure-elementor-section .review-card{padding:23px}
	.demure-elementor-section .review-card.featured{padding:25px}

	.demure-elementor-section .image-hero-media img{height:340px}
	.demure-elementor-section .contact-hero{padding:54px 0 68px}
	.demure-elementor-section .finder-hero{padding:58px 0}
	.demure-elementor-section .scent-finder{padding:24px 18px;border-radius:22px}
	.demure-elementor-section .scent-options{margin-top:20px}
	.demure-elementor-section .scent-options button{font-size:1.05rem}
	.demure-elementor-section .carousel-arrow{width:42px;height:42px}
}

@media(max-width:420px){
	.demure-elementor-section .container{width:min(calc(100% - 22px),var(--container))}
	.demure-elementor-section .hero-copy h1{font-size:clamp(2.65rem,14vw,3.75rem)}
	.demure-elementor-section .hero-media{padding-left:10px;padding-right:8px}
	.demure-elementor-section .hero-frame{border-radius:105px 105px 20px 20px}
	.demure-elementor-section .hero-frame,
	.demure-elementor-section .hero-frame img{min-height:370px}
	.demure-elementor-section .story-media img,
	.demure-elementor-section .content-image img{height:400px;border-radius:95px 95px 18px 18px}
	.demure-elementor-section .collection-card,
	.demure-elementor-section .collection-card:nth-child(2),
	.demure-elementor-section .collection-card:nth-child(3){min-height:360px}
}

@media(prefers-reduced-motion:reduce){
	.demure-elementor-section *{scroll-behavior:auto!important}
	.demure-elementor-section .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* Starter-site wrapper normalization. The Demure widgets render their own
   full-width sections/containers, so Elementor's imported section wrapper must
   not add a second content width, padding or gap. */
.elementor-section.demure-import-section,
.elementor-section.demure-import-section > .elementor-container,
.elementor-section.demure-import-section > .elementor-container > .elementor-column,
.elementor-section.demure-import-section > .elementor-container > .elementor-column > .elementor-widget-wrap{
	width:100%;max-width:none;margin:0;padding:0
}
.elementor-section.demure-import-section > .elementor-container{display:block}
.elementor-section.demure-import-section .elementor-widget{margin:0;width:100%;max-width:none}
/* v3.2 Scent Finder result preview / responsiveness. */
.demure-elementor-section .scent-match-result{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(22px,4vw,48px);align-items:center;text-align:left}.demure-elementor-section .scent-match-media img{width:100%;height:460px;display:block;object-fit:cover;border-radius:24px;background:#ede5df}.demure-elementor-section .scent-match-copy .hero-actions{justify-content:flex-start}.demure-elementor-section .scent-match-price{color:var(--wine);font-weight:850}.demure-elementor-section .scent-options button.is-selected{border-color:var(--gold);background:#fff}@media(max-width:767px){.demure-elementor-section .scent-match-result{grid-template-columns:1fr}.demure-elementor-section .scent-match-media img{height:360px}.demure-elementor-section .scent-match-copy{text-align:center}.demure-elementor-section .scent-match-copy .hero-actions{justify-content:center}}@media(max-width:479px){.demure-elementor-section .scent-match-media img{height:300px}.demure-elementor-section .scent-match-copy .hero-actions{display:grid}.demure-elementor-section .scent-match-copy .hero-actions .btn{width:100%}}
