/*
Theme Name: Mediaheld Starter
Description: Editable Twenty Twenty-Five child theme with simple Mediaheld sections. Quotation forms remain plugin-owned; activation does not migrate content or enable checkout.
Template: twentytwentyfive
Version: 0.13.40
Requires at least: 6.8
Requires PHP: 8.3
Author: Mediaheld
Text Domain: mediaheld
License: GPL-2.0-or-later
*/

/* Global Styles own the shared tokens. Section styles live in assets/css/components.css;
   native WooCommerce compatibility stays separate from marketing components. */
* { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
pre { overflow: auto; }
h1, h2, h3, .wp-block-post-content { overflow-wrap: anywhere; }
:focus-visible { outline: 2px solid var(--wp--preset--color--primary-dark); outline-offset: 3px; }
/* Pointer focus is not a keyboard ring; retain native field borders and validation. */
.mediaheld-theme :focus:not(:focus-visible) { outline: none; }
/* The skip-link destination receives focus, but is not an interactive control. */
#main-content:focus { outline: none; }
.screen-reader-text { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.mh-skip-link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); left: 1rem; padding: .8rem 1rem; position: fixed; top: -100px; z-index: 100000; }
.mh-skip-link:focus { top: 1rem; }
.mh-container { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; }
.mh-main { padding-block: 1rem 2rem; }
.mh-container.mh-main { padding-inline: 16px; }

/* Native forms/hooks/AJAX classes retained. No amounts are hidden with CSS. */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce #payment #place_order {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    border-radius: var(--wp--custom--button--radius, .25rem); background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base); font: inherit; line-height: 1.3;
    padding: .75rem 1rem; text-decoration: none; max-width: 100%; white-space: normal;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base);
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { padding: .75rem 1rem; opacity: .6; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; min-width: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 3; object-fit: contain; }
.woocommerce div.product form.cart, .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.woocommerce div.product form.cart .variations, .woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce .quantity .qty { width: 5rem; min-height: 44px; font: inherit; }
.woocommerce select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce .form-row select { font: inherit; max-width: 100%; min-height: 44px; padding: .6rem .75rem; }
/* Beat WooCommerce's block-theme form padding without replacing SelectWoo behavior. */
.mediaheld-theme:is(.woocommerce, .woocommerce-page) form .form-row .select2-container { display: block; min-height: 44px; height: auto; }
.mediaheld-theme:is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single { height: 44px; padding: 0; margin: 0; }
.mediaheld-theme:is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding: 0 3rem 0 .75rem; }
.mediaheld-theme:is(.woocommerce, .woocommerce-page) form .form-row .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; top: 1px; }
.woocommerce form .form-row { padding: 0; margin-bottom: 1rem; }
.woocommerce table.shop_table { border-radius: 0; overflow-wrap: anywhere; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .75rem; }
.woocommerce a.remove { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.mediaheld-quotation-notice { text-align: left; font-weight: 400; padding: 1rem; }
caption.mediaheld-quotation-notice { padding: 0 0 1rem; }
.woocommerce .col2-set, .woocommerce-page .col2-set { width: 56%; float: left; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none; width: 100%; }
.woocommerce #order_review_heading, .woocommerce #order_review { float: right; width: 39%; }
.woocommerce #order_review_heading { margin-top: 0; }
.woocommerce #payment { background: transparent; border-radius: 0; }
.woocommerce #payment #place_order { width: 100%; float: none; }
.woocommerce form.checkout::after { content: ''; display: table; clear: both; }
.woocommerce ul#shipping_method li { display: flex; gap: .3rem; }
.woocommerce ul#shipping_method li label { flex: 1; min-height: 44px; }
.woocommerce ul#shipping_method li input { margin: .3rem .4rem .3rem 0; width: 20px; height: 20px; }
.woocommerce .woocommerce-error, .woocommerce .woocommerce-message, .woocommerce .woocommerce-info { overflow-wrap: anywhere; }
.mh-category-details { clear: both; padding-block: 2rem; }
@media (max-width: 800px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; float: none; }
    .woocommerce .col2-set, .woocommerce-page .col2-set, .woocommerce #order_review_heading, .woocommerce #order_review { width: 100%; float: none; }
    .woocommerce #order_review_heading { margin-top: 2rem; }
}
@media (max-width: 480px) {
    .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
    .woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; width: 100%; }
    .woocommerce form .form-row-first, .woocommerce form .form-row-last { float: none; width: 100%; }
    .woocommerce table.shop_table_responsive tr td::before { float: none; display: block; margin-bottom: .5rem; }
    .woocommerce table.shop_table_responsive tr td { text-align: left !important; }
    .woocommerce table.shop_table_responsive tr td.actions .button { width: 100%; }
    .woocommerce .woocommerce-checkout-review-order-table tfoot tr, .woocommerce .woocommerce-checkout-review-order-table tfoot th, .woocommerce .woocommerce-checkout-review-order-table tfoot td { display: block; width: 100%; }
}
