/*
 * Alberte Hall · Art child-tema 2.2 · Formularer og knapper
 *
 * Art-temaet styler ALLE knapper og felter på siden (fast højde 50px, margin-top 25px,
 * 2px kant, 20px margin under felter, grå tekst #adadad, ingen fokusmarkering).
 * Det rammer WooCommerce, kontaktformularer og alle plugins. Denne fil:
 *   1. neutraliserer de generelle regler, så hvert element starter rent
 *   2. giver formularer i indhold, WooCommerce og CF7 ét fælles Alberte Hall-udtryk
 *   3. giver tastaturbrugere fokusmarkeringen tilbage
 * Temaets header, menu og søgefelt berøres ikke.
 */

/* ------------------------------------------------------------
   1. NEUTRALISER ART-TEMAETS GENERELLE REGLER
   ------------------------------------------------------------ */
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    height: auto;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    letter-spacing: normal;
    line-height: 1.2;
    font-size: inherit;
    color: inherit;
}
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover { background-color: transparent; }

input,
textarea,
select { margin: 0; font-size: inherit; color: var(--ah-text, #2F4573); }

input[type="checkbox"],
input[type="radio"] {
    width: auto;
    height: auto;
    margin: 0 8px 0 0;
    border: 0;
    vertical-align: middle;
    accent-color: var(--ah-blue);
}

input::placeholder,
textarea::placeholder { color: color-mix(in srgb, var(--ah-blue) 45%, #fff); opacity: 1; }

/* Fokus: Art fjerner al fokusmarkering. Tastaturbrugere får den tilbage (mus/touch ser den ikke). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 1px solid var(--ah-blue);
    outline-offset: 3px;
}

/* ------------------------------------------------------------
   2. FORMULARER · ALBERTE HALL
   Kun i sideindhold, WooCommerce-indhold (ikke <body>-klassen), kontaktformularer, kommentarer og konto.
   ------------------------------------------------------------ */
:where(.entry, .entry-content, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .wpcf7, .comment-respond, .ah-form) :is(
    input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"],
    input[type="search"], input[type="url"], input[type="date"], input[type="time"], textarea, select
) {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    height: auto;
    padding: 10px 14px;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid color-mix(in srgb, var(--ah-blue) 22%, transparent);
    border-radius: 0;
    box-shadow: none;
    color: var(--ah-text, #2F4573);
    font-family: var(--ah-body-font);
    font-size: 15px;
    line-height: 1.4;
    text-indent: 0;
    transition: border-color .2s ease;
}
/* :not([type="-"]) giver samme vægt som den fælles feltregel ovenfor, så disse vinder. */
:where(.entry, .entry-content, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .wpcf7, .comment-respond, .ah-form) textarea:not([type="-"]) { min-height: 120px; resize: vertical; }
:where(.entry, .entry-content, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .wpcf7, .comment-respond, .ah-form) select:not([type="-"]) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 40px;
    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 d='M1 1.5l5 5 5-5' fill='none' stroke='%232F4573' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 15px center / 12px 8px;
}
:where(.entry, .entry-content, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .wpcf7, .comment-respond, .ah-form) :is(input, textarea, select):focus { border-color: var(--ah-blue); outline: none; }
:where(.entry, .entry-content, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .wpcf7, .comment-respond, .ah-form) :is(input, textarea, select):focus-visible { outline: 1px solid var(--ah-blue); outline-offset: 2px; }

:where(.entry, .entry-content, .wpcf7, .comment-respond, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .ah-form) label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ah-text, #2F4573);
}
:where(.entry, .entry-content, .wpcf7, .comment-respond, div.woocommerce, div.product, form.checkout, .woocommerce-MyAccount-content, .ah-form) label:has(input[type="checkbox"], input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
}

/* Send-knapper i formularer = primær knap */
:where(.entry, .entry-content, .wpcf7, .comment-respond, .ah-form) :is(input[type="submit"], button[type="submit"]):not([class*="hs-"]):not([class*="mkk-"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 30px;
    background: var(--ah-blue);
    color: #fff;
    border: 1px solid var(--ah-blue);
    font-family: var(--ah-body-font);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .3s ease, color .3s ease;
}
:where(.entry, .entry-content, .wpcf7, .comment-respond, .ah-form) :is(input[type="submit"], button[type="submit"]):not([class*="hs-"]):not([class*="mkk-"]):hover {
    background: transparent;
    color: var(--ah-blue);
}

/* WooCommerce · antal på produktsiden */
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty { width: 76px; min-height: 48px; text-align: center; padding: 0 8px; }
/* Art-temaet tvinger antalsfeltet ned på 40px under 768px med !important. */
@media (max-width: 767px) { .woocommerce .quantity .qty, .woocommerce-page .quantity .qty { width: 64px !important; } }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; margin: 0; }

/* ------------------------------------------------------------
   2.4 · Hvid tekst ved hover må aldrig blive usynlig
   Art-temaet giver alle knapper hvid tekst ved hover og regner med sin egen baggrund.
   Nulstillingen ovenfor fjerner den baggrund, så teksten blev hvid på hvid.
   Knapper og links uden egen hover-farve får i stedet Alberte-blå tekst.
   ------------------------------------------------------------ */
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.archive-more-a:hover,
.moudle .ux-btn.tw-style-a:hover { color: var(--ah-blue, #2F4573); }
#sidebar .sidebar_widget .tagcloud a:hover,
.widget-container .user-submit:hover,
.blog-unit-link-li:hover { color: var(--ah-blue, #2F4573); }
