/**
 * Theme Name:  Holy Dog Artboards Child
 * Theme URI:   https://holydog.de
 * Description: Child theme for Holy Dog BARF & Boutique Berlin. Built on the Astra parent theme.
 *              Adds WooCommerce enhancements: portion-size cart badges, shipping email routing,
 *              admin order columns, checkout notice handling, and custom brand styles.
 * Author:      Holy Dog BARF & Boutique Berlin
 * Author URI:  https://holydog.de
 * Template:    astra
 * Version:     1.3.4
 * License:     GNU General Public License v2 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: astra-child
 */

/* ============================================================
   HOLY DOG - Site styles
   1) Product buttons (flat blue, de-glassed)
   2) My Account branding (clean light theme)
   Drop into Appearance → Customize → Additional CSS.
   ============================================================ */

/* Fonts (remove if the theme already loads Fraunces + Manrope) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700&family=Manrope:wght@400;600;700&display=swap');

/* Prevent layout shift when modals/carts hide the scrollbar */
html {
    scrollbar-gutter: stable;
}

:root {
    --hd-blue: #1C54A1;
    --hd-blue-dk: #174a8e;
    --hd-blue-dkr: #143f78;
    --hd-ink: #1B2A3F;
    --hd-muted: #5B6B80;
    --hd-line: #E3E8EF;
    --hd-bg: #F6F8FB;
    --hd-card: #FFFFFF;
}


/* ===========================================
   PRODUCT SUMMARY - input/select reset
   =========================================== */
.single-product .summary.entry-summary input[type="number"],
.single-product .summary.entry-summary select {
    border-color: #ffffff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}


/* ===========================================
   SHOP GRID - "Add to cart" buttons (flat blue)
   =========================================== */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button {
    background: var(--hd-blue) !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: none !important;
    padding: 0 18px !important;
    height: 44px !important;
    width: calc(100% - 28px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    margin: 0 !important;
    text-shadow: none !important;
    filter: none !important;
    transition: background-color .2s ease !important;
}

.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover,
.woocommerce ul.products li.product a.button:focus,
.woocommerce ul.products li.product button.button:focus {
    background: var(--hd-blue-dk) !important;
    background-image: none !important;
    color: #fff !important;
}

.woocommerce ul.products li.product a.button:active,
.woocommerce ul.products li.product button.button:active {
    background: var(--hd-blue-dkr) !important;
}


/* ===========================================
   SINGLE PRODUCT - main "Add to cart" (flat blue)
   =========================================== */
.single-product .single_add_to_cart_button {
    background: var(--hd-blue) !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: none !important;
    padding: 0 36px !important;
    height: 56px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    transition: background-color .2s ease !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus {
    background: var(--hd-blue-dk) !important;
    background-image: none !important;
    color: #fff !important;
}

.single-product .single_add_to_cart_button:active {
    background: var(--hd-blue-dkr) !important;
}

.single-product form.cart {
    padding: 0 !important;
    margin: 0 !important;
}


/* ── Mobile: shop card buttons ── */
@media (max-width: 767px) {

    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product button.button {
        height: auto !important;
        min-height: 44px !important;
        padding: 10px 12px !important;
        font-size: 11px !important;
        letter-spacing: .06em !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        width: calc(100% - 20px) !important;
    }
}


/* ============================================================
   MY ACCOUNT - branding
   ============================================================ */

.woocommerce-account .woocommerce {
    font-family: 'Manrope', system-ui, -apple-system, sans-serif;
    color: var(--hd-ink);
}

.woocommerce-account h1,
.woocommerce-account .entry-title {
    font-family: 'Fraunces', Georgia, serif !important;
    color: var(--hd-ink) !important;
    letter-spacing: -.01em;
}

/* Layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 25% !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 68% !important;
    float: right !important;
    /* ensure it stays on the right, creating a 7% breathable gap */
}

/* Sidebar nav */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--hd-line);
    border-radius: 16px;
    overflow: hidden;
    background: var(--hd-card);
    box-shadow: 0 2px 14px rgba(27, 42, 63, .05);
}

.woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    border-bottom: 1px solid var(--hd-line);
}

.woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 18px 24px !important;
    font-size: 15px;
    font-weight: 600;
    color: var(--hd-muted) !important;
    text-decoration: none !important;
    transition: background .18s, color .18s, padding-left .18s;
    position: relative;
}

.woocommerce-MyAccount-navigation li a:hover {
    background: var(--hd-bg);
    color: var(--hd-blue) !important;
    padding-left: 24px !important;
}

.woocommerce-MyAccount-navigation li.is-active a {
    background: var(--hd-blue);
    color: #fff !important;
}

.woocommerce-MyAccount-navigation li.is-active a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #fff;
    opacity: .5;
}

/* Content panel */
.woocommerce-MyAccount-content {
    background: var(--hd-card);
    border: 1px solid var(--hd-line);
    border-radius: 16px;
    padding: 40px 48px !important;
    box-shadow: 0 2px 14px rgba(27, 42, 63, .05);
    font-size: 15px;
    line-height: 1.85;
    color: var(--hd-ink);
}

.woocommerce-MyAccount-content a {
    color: var(--hd-blue);
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-MyAccount-content a:hover {
    text-decoration: underline;
}

.woocommerce-MyAccount-content p:first-child {
    font-size: 17px;
    color: var(--hd-ink);
}

/* Buttons */
.woocommerce-account .button,
.woocommerce-account button[type="submit"],
.woocommerce-account .woocommerce-Button {
    background: var(--hd-blue) !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background .2s ease !important;
    cursor: pointer;
}

.woocommerce-account .button:hover,
.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .woocommerce-Button:hover {
    background: var(--hd-blue-dk) !important;
}

.woocommerce-account .button:active,
.woocommerce-account button[type="submit"]:active {
    background: var(--hd-blue-dkr) !important;
}

/* Login / Register forms */
.woocommerce form.login h2,
.woocommerce form.register h2 {
    font-family: 'Fraunces', Georgia, serif;
    color: var(--hd-ink);
    margin-bottom: 14px;
}

.woocommerce form.login,
.woocommerce form.register {
    border: 1px solid var(--hd-line) !important;
    border-radius: 16px !important;
    padding: 40px 44px !important;
    background: var(--hd-card);
    box-shadow: 0 2px 14px rgba(27, 42, 63, .05);
}

.woocommerce-account .u-columns.col2-set .col-1,
.woocommerce-account .u-columns.col2-set .col-2 {
    width: 48% !important;
}

/* Form fields */
.woocommerce-account .woocommerce form .form-row label,
.woocommerce-account label {
    font-size: 14px;
    font-weight: 600;
    color: var(--hd-ink);
    margin-bottom: 6px;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account select {
    border: 1.5px solid var(--hd-line) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    background: #fff !important;
    color: var(--hd-ink) !important;
    transition: border-color .18s, box-shadow .18s;
    box-shadow: none !important;
}

.woocommerce-account input:focus,
.woocommerce-account select:focus {
    border-color: var(--hd-blue) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(28, 84, 161, .12) !important;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
    border: 1px solid var(--hd-line) !important;
    border-radius: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
}

.woocommerce-account table.shop_table thead th {
    background: var(--hd-bg) !important;
    color: var(--hd-ink) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    padding: 18px 20px !important;
    border: none !important;
}

.woocommerce-account table.shop_table td {
    padding: 18px 20px !important;
    border-top: 1px solid var(--hd-line) !important;
    font-size: 14.5px !important;
}

.woocommerce-account .order-status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: var(--hd-bg);
    color: var(--hd-blue);
}

/* Address cards */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    border: 1px solid var(--hd-line);
    border-radius: 14px;
    padding: 30px 32px;
    background: var(--hd-card);
}

.woocommerce-account .woocommerce-Address-title h3 {
    font-family: 'Fraunces', Georgia, serif;
    color: var(--hd-ink);
}

/* Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    border-top-color: var(--hd-blue) !important;
    background: var(--hd-bg) !important;
    border-radius: 10px;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
    color: var(--hd-blue) !important;
}

/* Mobile */
@media (max-width: 768px) {

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }

    .woocommerce-account .u-columns.col2-set .col-1,
    .woocommerce-account .u-columns.col2-set .col-2 {
        width: 100% !important;
        margin-bottom: 18px;
    }

    .woocommerce-MyAccount-content {
        padding: 30px 24px !important;
    }
}



.hp-tp {
    font-family: var(--hp-serif);
    font-style: normal !important;
    font-size: 36px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1;
    /* Subtle warm glow behind the number */
    text-shadow: 0 0 24px rgba(240, 184, 50, .2);
}



@media (max-width: 921px) {
    .woocommerce-checkout .ast-container {
        margin-top: 26px !important;
        margin-left: 26px !important;
    }
}

.astra-shop-summary-wrap .price {
    margin-bottom: 12px;
}

.astra-shop-summary-wrap .button {
    display: inline-block;
}

.woocommerce-js ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    margin-bottom: 1em;
}

.post-9.page.type-page.status-publish.ast-article-single {
    margin-top: 10%;
}