/* Seu Sigilo — Véu: componentes. Cores e fontes vêm do theme.json (--wp--preset--*). */
:root {
	--ss-nevoa: var(--wp--preset--color--base);
	--ss-noite: var(--wp--preset--color--contrast);
	--ss-amora: var(--wp--preset--color--accent-1);
	--ss-amora-esc: #7d2650;
	--ss-lilas: var(--wp--preset--color--accent-2);
	--ss-lavanda: var(--wp--preset--color--accent-3);
	--ss-fumaca: var(--wp--preset--color--accent-4);
	--ss-branco: var(--wp--preset--color--accent-5);
	--ss-menta: var(--wp--preset--color--accent-6);
	--ss-display: var(--wp--preset--font-family--unbounded);
	--ss-radius: 20px;
	--ss-gutter: clamp(16px, 4vw, 32px);
}

body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding-top: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.ss-main { padding-inline: var(--ss-gutter); padding-block: 8px 72px; }
.ss-main > * + * { margin-block-start: clamp(40px, 7vw, 72px); }
:focus-visible { outline: 2px solid var(--ss-amora); outline-offset: 3px; }

/* ---------- Cabeçalho ---------- */
.ss-header { position: sticky; top: 0; z-index: 50; background: rgba(244, 242, 247, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(207, 195, 224, .6); padding-inline: var(--ss-gutter); }
.admin-bar .ss-header { top: var(--wp-admin--admin-bar--height, 0px); }
.ss-header__row { padding-block: 12px; gap: 16px; }
.ss-logo { display: inline-flex; color: var(--ss-noite); text-decoration: none; }
.ss-logo svg { display: block; height: 30px; width: auto; }
.ss-nav { display: flex; align-items: center; gap: 20px; }
.ss-nav a { color: var(--ss-noite); text-decoration: none; font-weight: 500; font-size: .9375rem; display: inline-flex; align-items: center; gap: 6px; }
.ss-nav a:hover { color: var(--ss-amora); }
.ss-header__note { margin: 0; font-size: .75rem; line-height: 1.25; color: var(--ss-fumaca); text-align: right; }
@media (max-width: 480px) { .ss-nav__bag span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* ---------- Rodapé ---------- */
.ss-footer { background: var(--ss-noite); color: #cfc7d9; padding-inline: var(--ss-gutter); padding-block: 40px 48px; }
.ss-footer .ss-logo { color: var(--ss-nevoa); }
.ss-footer__inner { gap: 18px; }
.ss-footer__links { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .9375rem; }
.ss-footer__links a { color: #ece6f3; text-decoration: none; }
.ss-footer__links a:hover { text-decoration: underline; }
.ss-footer__legal { margin: 0; font-size: .8125rem; line-height: 1.55; color: #a89fb4; max-width: 72ch; }

/* ---------- Topo da página inicial ---------- */
.ss-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 5vw, 64px); align-items: center; padding-block: clamp(24px, 6vw, 72px) 0; }
.ss-hero__text { display: grid; gap: 20px; }
.ss-hero__text > * { margin: 0; }
.ss-hero h1 { font-size: clamp(2rem, 6vw, 3.25rem); max-width: 14ch; }
.ss-hero__lead { font-size: 1.0625rem; color: var(--ss-fumaca); max-width: 46ch; }
.ss-hero__art { aspect-ratio: 1 / 1; max-width: 100%; border-radius: 32px; position: relative; overflow: hidden; background: radial-gradient(110% 90% at 30% 15%, #fff 0%, var(--ss-lilas) 48%, var(--ss-lavanda) 100%); }
.ss-hero__art span { position: absolute; width: 22%; height: 46%; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-18deg); border-radius: 999px; background: linear-gradient(160deg, #cf6a99, var(--ss-amora) 60%, var(--ss-amora-esc)); box-shadow: 0 24px 40px -16px rgba(125, 38, 80, .6); }
@media (max-width: 781px) {
	.ss-hero { grid-template-columns: minmax(0, 1fr); }
	.ss-hero__art { order: -1; aspect-ratio: 16 / 10; }
}

/* ---------- Selos ---------- */
.ss-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ss-chips li { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 500; padding: 8px 11px; border-radius: 999px; background: rgba(255, 255, 255, .85); color: var(--ss-noite); }
.ss-chips svg { flex: none; }

/* ---------- Seções ---------- */
.ss-section__title { margin-block-end: 20px !important; }

/* Vitrine (shortcode [products]) */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--ss-branco); border-radius: var(--ss-radius); padding: 12px 12px 16px !important; display: flex; flex-direction: column; gap: 6px; }
.woocommerce ul.products li.product a img { border-radius: 14px; margin: 0 0 8px !important; background: var(--ss-lilas); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: inherit; font-weight: 600; font-size: .9375rem !important; padding: 0 !important; color: var(--ss-noite); }
.woocommerce ul.products li.product .price { font-family: var(--ss-display); font-weight: 600; color: var(--ss-noite) !important; font-size: 1.0625rem !important; margin: 0 !important; }
.woocommerce ul.products li.product .button { margin-top: auto !important; align-self: flex-start; }
@media (max-width: 781px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* Como chega */
.ss-arrive { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 5vw, 56px); align-items: center; background: var(--ss-branco); border-radius: 28px; padding: clamp(18px, 4vw, 40px); }
.ss-arrive__text { display: grid; gap: 16px; }
.ss-arrive__text > * { margin: 0; }
.ss-arrive__box { aspect-ratio: 4 / 3; max-width: 100%; border-radius: var(--ss-radius); background: linear-gradient(180deg, #efe9f5, #e2d9ec); position: relative; overflow: hidden; }
.ss-arrive__pkg { position: absolute; left: 50%; top: 56%; width: 64%; aspect-ratio: 16 / 9; transform: translate(-50%, -50%); background: #d8c8b4; border-radius: 6px; box-shadow: 0 16px 24px -14px rgba(38, 32, 46, .5); }
.ss-arrive__pkg::before { content: ""; position: absolute; left: 0; right: 0; top: 44%; height: 12%; background: #c9b59c; }
.ss-arrive__pkg span { position: absolute; right: 8px; bottom: 7px; font: 500 10px/1 ui-monospace, Menlo, monospace; color: #7a6752; }
.ss-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ss-steps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; }
.ss-steps__ic { width: 40px; height: 40px; border-radius: 12px; background: var(--ss-lilas); display: grid; place-items: center; }
.ss-steps__ic svg { width: 20px; height: 20px; }
.ss-steps strong { display: block; font-weight: 600; }
.ss-steps li span:not(.ss-steps__ic) { font-size: .875rem; color: var(--ss-fumaca); line-height: 1.45; }
@media (max-width: 781px) { .ss-arrive { grid-template-columns: minmax(0, 1fr); } }

/* Garantias */
.ss-guar__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ss-guar__list li { display: flex; gap: 10px; align-items: flex-start; background: var(--ss-branco); border-radius: 16px; padding: 16px; font-size: .9375rem; line-height: 1.45; }
.ss-guar__list svg { flex: none; width: 20px; height: 20px; color: var(--ss-amora); margin-top: 1px; }
.ss-guar__list strong { font-weight: 600; }
@media (max-width: 781px) { .ss-guar__list { grid-template-columns: minmax(0, 1fr); } }

/* Perguntas */
.ss-faq .wp-block-details summary { cursor: pointer; list-style: none; font-weight: 600; padding-right: 28px; position: relative; }
.ss-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ss-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 2px; top: -3px; font-size: 1.375rem; font-weight: 400; color: var(--ss-amora); }
.ss-faq .wp-block-details[open] summary::after { content: "–"; }
.ss-faq .wp-block-details p { color: var(--ss-fumaca); font-size: .9375rem; margin-block: 10px 0; }

/* ---------- Landing de produto ---------- */
.ss-lp__top { gap: clamp(16px, 4vw, 48px) !important; margin-block-start: 12px; }
.ss-lp__gallery .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.ss-lp__gallery .woocommerce-product-gallery__wrapper { border-radius: 24px; overflow: hidden; background: radial-gradient(110% 90% at 30% 15%, #fff 0%, var(--ss-lilas) 48%, var(--ss-lavanda) 100%); }
.ss-lp__gallery .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px !important; }
.ss-lp__gallery .flex-control-thumbs li { width: 64px !important; }
.ss-lp__gallery .flex-control-thumbs img { border-radius: 10px; }
.ss-lp__buy { display: grid; gap: 14px; align-content: start; }
.ss-lp__buy > * { margin: 0 !important; }
.ss-lp__title { font-size: clamp(1.5rem, 4.5vw, 2.25rem); }
.ss-lp__lead, .ss-lp__lead p { color: var(--ss-fumaca); font-size: 1rem; margin: 0; }
.ss-lp form.cart { display: grid; gap: 10px; margin: 0 !important; }
.ss-lp form.cart .quantity { display: none !important; }
.ss-lp form.cart .single_add_to_cart_button { width: 100%; padding: 17px 22px !important; font-size: 1rem !important; border-radius: 999px !important; }
.ss-lp .stock { font-size: .875rem; color: var(--ss-fumaca); margin: 0; }
.ss-lp__content { background: var(--ss-branco); border-radius: 28px; padding: clamp(18px, 4vw, 40px) !important; }
.ss-lp__content > * + * { margin-block-start: 16px; }

/* Blocos para a descrição do produto (usados no conteúdo de cada landing) */
.ss-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; padding: 0 !important; margin: 0; }
.ss-benefits li { background: var(--ss-nevoa); border-radius: 16px; padding: 14px; font-size: .875rem; color: var(--ss-fumaca); line-height: 1.4; }
.ss-benefits li strong { display: block; color: var(--ss-noite); font-size: .9375rem; margin-bottom: 2px; }
.ss-specs { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.ss-specs td { padding: 10px 0; border-bottom: 1px solid var(--ss-lavanda); vertical-align: top; }
.ss-specs td:first-child { color: var(--ss-fumaca); width: 42%; padding-right: 12px; }

/* Barra de compra fixa (só celular) */
.ss-buybar { display: none; }
@media (max-width: 781px) {
	body.ss-landing { padding-bottom: 76px; }
	.ss-buybar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--ss-gutter) calc(12px + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .95); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--ss-lavanda); }
	.ss-buybar__price { font-family: var(--ss-display); font-weight: 600; font-size: 1.125rem; letter-spacing: -.02em; }
	.ss-buybar__btn { background: var(--ss-amora); color: var(--ss-branco) !important; text-decoration: none; border-radius: 999px; padding: 14px 22px; font-weight: 600; }
}

/* ---------- WooCommerce: formulários, carrinho, checkout, avisos ---------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce #place_order {
	background: var(--ss-amora) !important; color: var(--ss-branco) !important; border-radius: 999px !important; border: 0 !important;
	font-family: inherit !important; font-weight: 600 !important; padding: 14px 22px !important; line-height: 1 !important; box-shadow: none !important;
}
.woocommerce .button:hover, .woocommerce #place_order:hover { background: var(--ss-amora-esc) !important; }
.woocommerce #place_order { width: 100%; font-size: 1rem !important; padding: 17px 22px !important; }
.woocommerce form .form-row label { font-weight: 600; font-size: .875rem; margin-bottom: 4px; }
.woocommerce form .form-row .required { color: var(--ss-amora); text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity .qty {
	font: inherit; font-size: 1rem; padding: 13px 14px; border-radius: 12px; border: 1.5px solid var(--ss-lavanda); background: var(--ss-branco); color: var(--ss-noite); box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row select:focus { outline: none; border-color: var(--ss-amora); box-shadow: 0 0 0 3px rgba(156, 52, 100, .15); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #b3261e; }
.select2-container--default .select2-selection--single { height: 48px; border-radius: 12px; border: 1.5px solid var(--ss-lavanda); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 45px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-cart-form, .cart-collaterals .cart_totals {
	background: var(--ss-branco); border-radius: 24px; padding: clamp(16px, 3vw, 28px);
}
.woocommerce-checkout #order_review_heading { font-size: var(--wp--preset--font-size--large); margin-top: 24px; }
.woocommerce table.shop_table { border: 0; border-radius: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--ss-lilas); padding: 12px 8px; }
.woocommerce table.shop_table .order-total .amount { font-family: var(--ss-display); font-weight: 600; font-size: 1.25rem; }
.woocommerce-checkout #payment { background: var(--ss-nevoa); border-radius: 16px; }
.woocommerce-checkout #payment div.payment_box { background: var(--ss-lilas); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ss-lilas); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner {
	border: 0 !important; border-radius: 14px !important; background: var(--ss-branco) !important; color: var(--ss-noite) !important; box-shadow: inset 4px 0 0 var(--ss-amora);
}
.woocommerce-message { box-shadow: inset 4px 0 0 var(--ss-menta); }
.woocommerce-error { box-shadow: inset 4px 0 0 #b3261e; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--ss-amora) !important; }
.woocommerce span.onsale { background: var(--ss-noite); border-radius: 6px; min-height: 0; min-width: 0; padding: 6px 9px; line-height: 1; font-size: .6875rem; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce .price del { color: var(--ss-fumaca); font-weight: 400; }
.woocommerce .price ins { text-decoration: none; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
