/* WordPress-specific glue for the UNLOCK TOOLZ design. */
body { margin: 0; background: var(--background); color: var(--foreground); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
:where(.ut-scope) :where(.is-layout-flow, .is-layout-constrained) > * { margin-block-start: 0; }
:where(.ut-scope) .wp-block-group { box-sizing: border-box; }
.ut-scope p:empty { display: none; }

/* Gold words typed with the editor's highlight / text colour tool. */
.ut-scope mark { background: transparent !important; }
.ut-scope mark.text-gold, .ut-scope mark.has-gold-color { background-image: var(--gradient-gold) !important; color: #0000 !important; -webkit-background-clip: text !important; background-clip: text !important; }
.ut-scope mark.vault-title-gold { background-image: var(--vault-title-gold) !important; color: #0000 !important; -webkit-background-clip: text !important; background-clip: text !important; }

/* Theme toggle. */
[data-ut-theme-toggle] .ut-sun { display: none; }
html.light [data-ut-theme-toggle] .ut-sun { display: block; }
html.light [data-ut-theme-toggle] .ut-moon { display: none; }
html.light [data-ut-theme-toggle] .ut-theme-knob { transform: translateX(2rem); }

/* FAQ uses the native Details block. */
.ut-faq .wp-block-details { border-bottom: 1px solid var(--border); padding: 1rem 0; }
.ut-faq .wp-block-details:last-child { border-bottom: 0; }
.ut-faq summary { cursor: pointer; font-weight: 500; font-size: 1rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.ut-faq summary::-webkit-details-marker { display: none; }
.ut-faq summary::after { content: "⌄"; color: var(--primary); transition: transform .2s; }
.ut-faq details[open] summary::after { transform: rotate(180deg); }
.ut-faq summary:hover { color: var(--gold-soft, #f3e5ab); }
.ut-faq details > p { margin-top: .75rem; color: var(--muted-foreground); line-height: 1.7; font-size: .875rem; }

/* Header: WooCommerce mini-cart drawer + account icon. */
.ut-mini-cart, .ut-mini-cart .wc-block-mini-cart { display: flex; align-items: center; }
.ut-mini-cart .wc-block-mini-cart__button { height: 2.25rem; min-width: 2.25rem; border: 1px solid var(--input); border-radius: .375rem; background: var(--background); color: var(--foreground); padding: 0 .5rem; }
.ut-mini-cart .wc-block-mini-cart__amount { display: none; }
.ut-mini-cart .wc-block-mini-cart__badge { background: var(--primary); color: var(--primary-foreground); }
.wc-block-mini-cart__drawer, .wc-block-components-drawer { direction: rtl; font-family: Tajawal, sans-serif; }

/* Catalogue pagination. */
.ut-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.ut-pagination .page-numbers { padding: .4rem .8rem; border: 1px solid var(--border); border-radius: .375rem; }
.ut-pagination .current { background: var(--primary); color: var(--primary-foreground); }

/* Plain WooCommerce pages (cart, checkout, my account) and ordinary pages. */
.ut-page { direction: rtl; font-family: Tajawal, Manrope, sans-serif; max-width: 80rem; margin-inline: auto; padding: 3rem 1rem 5rem; }
.ut-page h1, .ut-page h2, .ut-page h3 { font-weight: 800; margin: 0 0 1rem; }
.ut-page h1 { font-size: 1.875rem; }
.ut-page a { color: var(--primary); }
.ut-page input, .ut-page select, .ut-page textarea { background: var(--secondary); color: var(--foreground); border: 1px solid var(--input); border-radius: .375rem; padding: .6rem .75rem; }
.ut-page .button, .ut-page button[type="submit"], .ut-page .wc-block-components-button { background: var(--primary); color: var(--primary-foreground); border-radius: .375rem; padding: .7rem 1.2rem; font-weight: 700; border: 0; }
.ut-page table { width: 100%; border-collapse: collapse; }
.ut-page th, .ut-page td { border-bottom: 1px solid var(--border); padding: .75rem; text-align: right; }
.ut-cart-whatsapp { margin-bottom: 1rem; color: var(--primary-foreground) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; border: 1px solid var(--border); border-inline-start: 3px solid var(--primary); background: var(--card); padding: 1rem; border-radius: .5rem; margin-bottom: 1.5rem; }
.woocommerce-message .button { float: left; }
.ut-product-description { direction: auto; }

/* Uploaded decorative media follows the original icon dimensions. */
.ut-content-icon { object-fit: contain; flex-shrink: 0; }
.orbit-card-mark > .ut-content-icon { width: 100%; height: 100%; }
.icon-tile-face > .ut-content-icon { width: 60%; height: 60%; }
.shopping-need-card > .ut-content-icon { width: 38px; height: 38px; }
@media (max-width:767px) { .shopping-need-card > .ut-content-icon { width:30px; height:30px; } }
