/*
Theme Name: Marotices
Theme URI: https://marotices.pt
Author: Jocork – Produtos e Serviços, Unipessoal Lda.
Description: Tema de blocos da loja Marotices. Moderno, acolhedor e discreto, pensado para telemóvel.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
Version: 0.1.1
License: GPL-2.0-or-later
Text Domain: marotices
*/

/* Os estilos principais vivem em theme.json; aqui ficam ajustes que o theme.json não cobre. */

:root {
	--mrt-radius: 1rem;
	--mrt-radius-lg: 1.5rem;
	--mrt-shadow: 0 10px 30px rgba(43, 27, 47, .08);
	--mrt-shadow-hover: 0 16px 40px rgba(43, 27, 47, .14);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--ink); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--wp--preset--color--berry); outline-offset: 2px; }

/* ---------- Barra de anúncio e cabeçalho ---------- */
.mrt-announce { font-size: .82rem; letter-spacing: .01em; }
.mrt-announce p { margin: 0; }
/* O desfoque fica num pseudo-elemento: backdrop-filter no próprio cabeçalho cria um "containing block"
   que prende o menu móvel (position: fixed) dentro da altura do cabeçalho. */
.mrt-header { position: sticky; top: 0; z-index: 50; background: transparent !important; border-bottom: 1px solid rgba(43, 27, 47, .08); }
.mrt-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(251, 247, 244, .92); backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px); }
/* Menu móvel aberto: ecrã inteiro, legível, por cima de tudo */
.mrt-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; z-index: 100000; background: var(--wp--preset--color--cream) !important; padding: 1.25rem 1.5rem 2rem !important; overflow-y: auto; }
.mrt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2.5rem !important; gap: .25rem !important; align-items: flex-start !important; }
.mrt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: .35rem 0 !important; }
.mrt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; padding: 0 0 .5rem 1rem !important; background: transparent !important; min-width: 0 !important; }
.mrt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; opacity: .85; }
.mrt-header .wp-block-navigation__responsive-container-close { top: 1rem; right: 1rem; }
.admin-bar .mrt-header .wp-block-navigation__responsive-container.is-menu-open { top: 46px; }
.admin-bar .mrt-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mrt-header { top: 46px; } }
.mrt-logo { font-family: var(--wp--preset--font-family--display); font-style: italic; font-weight: 600; font-size: 1.75rem; letter-spacing: -.02em; line-height: 1; margin: 0; }
.mrt-logo a { color: var(--wp--preset--color--ink); text-decoration: none; }
.mrt-logo a::after { content: "."; color: var(--wp--preset--color--berry); }
.mrt-header .wp-block-navigation { font-weight: 500; }
.mrt-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--berry); }
.mrt-header .wp-block-navigation__submenu-container { border-radius: var(--mrt-radius); border: 1px solid rgba(43, 27, 47, .08) !important; box-shadow: var(--mrt-shadow); padding: .5rem !important; min-width: 15rem !important; }
.mrt-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem .75rem !important; border-radius: .6rem; }
.mrt-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--blush); }
.mrt-header-tools { gap: .35rem !important; }
.mrt-search .wp-block-search__input { border-radius: 999px; border: 1px solid rgba(43, 27, 47, .15); padding: .55rem 1rem; background: #fff; min-width: 14rem; }
.mrt-search .wp-block-search__button { border-radius: 999px; }
@media (max-width: 900px) { .mrt-search { display: none; } }

/* ---------- Botões ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }
.is-style-outline > .wp-block-button__link { border: 1.5px solid currentColor; }

/* ---------- Hero ---------- */
.mrt-hero { border-radius: var(--mrt-radius-lg); overflow: hidden; }
.mrt-hero h1 em { font-style: italic; color: var(--wp--preset--color--berry); }
.mrt-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .75rem !important; font-weight: 600; }

/* ---------- Mosaicos de navegação (para quem / categorias) ---------- */
.mrt-tiles { gap: 1rem !important; }
.mrt-tile { border-radius: var(--mrt-radius-lg); padding: 1.5rem !important; min-height: 11rem; display: flex; flex-direction: column; justify-content: flex-end; position: relative; transition: transform .25s ease, box-shadow .25s ease; box-shadow: var(--mrt-shadow); }
.mrt-tile:hover { transform: translateY(-3px); box-shadow: var(--mrt-shadow-hover); }
.mrt-tile h3 { margin: 0 0 .25rem; }
.mrt-tile p { margin: 0; opacity: .85; font-size: .92rem; }
.mrt-tile a { color: inherit; text-decoration: none; }
.mrt-tile a::after { content: ""; position: absolute; inset: 0; }
.mrt-tile .mrt-tile__arrow { position: absolute; top: 1.25rem; right: 1.25rem; font-size: 1.25rem; opacity: .7; }

/* ---------- Faixa de confiança ---------- */
.mrt-trustbar .wp-block-column { display: flex; gap: .85rem; align-items: flex-start; }
.mrt-trustbar h3 { font-family: var(--wp--preset--font-family--body); font-size: 1rem; font-weight: 600; margin: 0 0 .15rem; }
.mrt-trustbar p { margin: 0; font-size: .9rem; opacity: .8; }
.mrt-trustbar .mrt-trustbar__icon { flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--wp--preset--color--berry); font-size: 1.2rem; }

/* ---------- Cartões de produto ---------- */
.wc-block-product, .wp-block-post.product, .wc-block-grid__product { position: relative; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img { border-radius: var(--mrt-radius); background: #fff; aspect-ratio: 1 / 1; object-fit: contain; transition: transform .35s ease; }
.wc-block-product:hover .wc-block-components-product-image img, .wp-block-post.product:hover .wp-block-woocommerce-product-image img { transform: scale(1.03); }
.wc-block-components-product-image, .wp-block-woocommerce-product-image { overflow: hidden; border-radius: var(--mrt-radius); background: #fff; }
.wp-block-post-title.mrt-card-title, .wc-block-product .wp-block-post-title { font-family: var(--wp--preset--font-family--body) !important; font-weight: 500; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wc-block-product .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { font-weight: 600; color: var(--wp--preset--color--ink); }
.wc-block-components-product-price del { opacity: .5; font-weight: 400; }
.wc-block-components-product-sale-badge, .wc-block-components-product-sale-badge--align-right { border-radius: 999px !important; background: var(--wp--preset--color--berry) !important; color: #fff !important; border: 0 !important; font-size: .75rem !important; padding: .2rem .6rem !important; }
.wc-block-product .wp-block-button__link, .wc-block-components-product-button .wp-block-button__link { width: 100%; font-size: .9rem; padding: .65rem 1rem; }

/* ---------- Página de produto ---------- */
.mrt-product-summary .wp-block-post-title { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; }
.mrt-product-summary .wp-block-woocommerce-product-price { font-size: 1.6rem; }
.mrt-product-summary .single_add_to_cart_button, .mrt-product-summary .wp-block-add-to-cart-form .button { border-radius: 999px !important; padding: .95rem 2rem !important; font-weight: 600; background: var(--wp--preset--color--berry) !important; color: #fff !important; border: 0; }
.mrt-product-summary .single_add_to_cart_button:hover { background: var(--wp--preset--color--berry-dark) !important; }
.mrt-product-summary .quantity input { border-radius: 999px; border: 1px solid rgba(43, 27, 47, .2); padding: .8rem; width: 4.5rem; text-align: center; }
.mrt-product-summary table.variations td, .mrt-product-summary table.variations th { padding: .35rem 0; }
.mrt-product-summary table.variations select { border-radius: 999px; padding: .6rem 1rem; border: 1px solid rgba(43, 27, 47, .2); background: #fff; }
.woocommerce-product-gallery img { border-radius: var(--mrt-radius); background: #fff; }
.woocommerce-product-gallery .flex-control-thumbs li img { border-radius: .6rem; }
.wp-block-woocommerce-product-details .wc-tabs { border-bottom: 1px solid rgba(43, 27, 47, .1); }
.wp-block-woocommerce-product-details .wc-tabs li a { font-weight: 600; }
.woocommerce-Tabs-panel h3 { font-size: 1.15rem; margin-top: 1.5rem; }
.woocommerce-Tabs-panel ul { padding-left: 1.2rem; }
.stock.in-stock { color: #2f8f5b; font-weight: 500; }

/* ---------- Loja / categorias ---------- */
.mrt-archive-intro { max-width: 46rem; }
.term-description p { margin: 0 0 .75rem; }
.mrt-subcats { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.mrt-subcats a { display: inline-block; padding: .45rem 1rem; border-radius: 999px; background: #fff; border: 1px solid rgba(43, 27, 47, .12); text-decoration: none; color: var(--wp--preset--color--ink); font-size: .9rem; transition: all .2s ease; }
.mrt-subcats a:hover { border-color: var(--wp--preset--color--berry); color: var(--wp--preset--color--berry); }
.mrt-filters { font-size: .92rem; }
.mrt-filters h3 { font-family: var(--wp--preset--font-family--body); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin: 1.5rem 0 .5rem; }

/* ---------- Rodapé ---------- */
.mrt-footer a { color: inherit; text-decoration: none; opacity: .85; }
.mrt-footer a:hover { opacity: 1; text-decoration: underline; }
.mrt-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.mrt-footer h3 { font-family: var(--wp--preset--font-family--body); font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; opacity: .7; }
.mrt-payments { display: flex; flex-wrap: wrap; gap: .5rem; }
.mrt-payments span { font-size: .75rem; font-weight: 600; padding: .3rem .6rem; border-radius: .4rem; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); }

/* ---------- Guias / conteúdo ---------- */
.mrt-prose { font-size: 1.075rem; line-height: 1.75; }
.mrt-prose h2 { margin-top: 2.5rem; }
.mrt-prose blockquote { border-left: 3px solid var(--wp--preset--color--berry); padding-left: 1rem; font-style: italic; }
.mrt-callout { border-radius: var(--mrt-radius); }

/* ---------- FAQ (details) ---------- */
.wp-block-details { border-bottom: 1px solid rgba(43, 27, 47, .1); padding: 1rem 0; }
.wp-block-details summary { font-weight: 600; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -.1rem; font-size: 1.4rem; color: var(--wp--preset--color--berry); transition: transform .2s ease; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }

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

/* ---------- Ajustes ---------- */
.mrt-search .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; background: transparent; gap: .35rem; }
.mrt-search .wp-block-search__button { padding: .55rem .9rem; }
.mrt-card-brand a { color: var(--wp--preset--color--berry); text-decoration: none; }
.mrt-catgrid { gap: 1rem !important; }
.mrt-catgrid .mrt-tile { min-height: 10rem; }
.mrt-hero__art img { width: 100%; max-width: 30rem; margin-inline: auto; display: block; }
.mrt-guide-card { height: 100%; box-shadow: var(--mrt-shadow); transition: transform .25s ease; }
.mrt-guide-card:hover { transform: translateY(-3px); }
.mrt-guide-card .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.mrt-footer h3 { margin-bottom: .9rem; }
.mrt-filters-col { position: relative; }
@media (min-width: 782px) { .mrt-filters-col > * { position: sticky; top: 7rem; } }
.wc-block-product-filters .wp-block-heading, .mrt-filters .wp-block-heading { font-family: var(--wp--preset--font-family--body); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin: 1.5rem 0 .6rem; }
.wc-block-breadcrumbs, .woocommerce-breadcrumb { opacity: .75; }
.wp-block-query-title { margin-bottom: .25rem; }

/* ---------- Filtros e ordenação ---------- */
.mrt-filters-col { min-width: 0; }
.mrt-filters-col .wp-block-woocommerce-product-filters,
.mrt-filters-col .wc-block-product-filters { max-width: 100%; }
.mrt-filters input[type="text"], .mrt-filters input[type="number"] { width: 100%; max-width: 100%; box-sizing: border-box; border: 1px solid rgba(43, 27, 47, .18); border-radius: .6rem; padding: .4rem .6rem; background: #fff; font-size: .85rem; }
.mrt-filters .wc-block-product-filter-price-slider__content { gap: .5rem; }
.mrt-filters .wc-block-product-filter-price-slider__left, .mrt-filters .wc-block-product-filter-price-slider__right { flex: 1 1 0; min-width: 0; }
.mrt-filters .wc-block-product-filter-checkbox-list, .mrt-filters .wc-block-product-filter-checkbox-list__list { border: 0 !important; padding: 0 !important; margin: 0; }
.mrt-filters .wc-block-product-filter-checkbox-list__item { padding: .2rem 0; }
.mrt-filters .wc-block-product-filter-checkbox-list__label { font-size: .9rem; }
.mrt-filters input[type="checkbox"] { accent-color: var(--wp--preset--color--berry); }
.mrt-filters .wc-block-product-filter-chips__items { display: flex; flex-wrap: wrap; gap: .4rem; }
.mrt-filters .wc-block-product-filter-chips__item { border-radius: 999px !important; border: 1px solid rgba(43, 27, 47, .18) !important; background: #fff !important; padding: .3rem .75rem !important; font-size: .85rem; }
.mrt-filters .wc-block-product-filter-chips__item[aria-checked="true"] { background: var(--wp--preset--color--ink) !important; color: #fff !important; }
.woocommerce-ordering select, .wc-block-catalog-sorting select, select.orderby { appearance: none; border: 1px solid rgba(43, 27, 47, .18); border-radius: 999px; padding: .5rem 2.2rem .5rem 1rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232B1B2F' stroke-width='1.5' d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right .9rem center; font-size: .9rem; color: var(--wp--preset--color--ink); cursor: pointer; }
.wc-block-product-results-count, .woocommerce-result-count { font-size: .9rem; opacity: .75; margin: 0; }
@media (max-width: 781px) { .mrt-filters-col { flex-basis: 100% !important; } }

/* ---------- Telemóvel ---------- */
@media (max-width: 781px) {
	.mrt-tiles { flex-wrap: wrap !important; gap: .75rem !important; }
	.mrt-tiles > .wp-block-column { flex-basis: calc(50% - .375rem) !important; flex-grow: 0 !important; }
	.mrt-tile { min-height: 8.5rem; padding: 1rem !important; border-radius: 1.1rem; }
	.mrt-tile h3 { font-size: 1.2rem !important; }
	.mrt-tile p:not(.mrt-tile__arrow) { font-size: .8rem; }
	.mrt-tile .mrt-tile__arrow { top: .8rem; right: .9rem; }
	.mrt-catgrid { grid-template-columns: 1fr 1fr !important; gap: .75rem !important; }
	.mrt-hero__art img { max-width: 13rem; }
	.mrt-hero { border-radius: 1.1rem; }
	.mrt-announce { font-size: .75rem; }
	.mrt-trustbar .wp-block-columns { gap: 1rem; }
}

/* ---------- Carrinho e checkout ---------- */
.wc-block-components-product-metadata__description { display: none; }
.wc-block-cart-items__row .wc-block-components-product-name, .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-weight: 500; text-decoration: none; color: var(--wp--preset--color--ink); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-select select { border-radius: .75rem !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: .75rem; }
.wc-block-checkout__sidebar .wc-block-components-order-summary, .wp-block-woocommerce-checkout-order-summary-block { border-radius: 1rem; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; }
.mrt-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--display); font-size: 1.4rem !important; font-weight: 500; }
