/* =================================================================
   Standalone single-product card — no header/footer, 100vh.
   Self-contained: fonts @font-face'd so it survives without the theme
   header. Restyles the native WooCommerce variation/add-to-cart form.
   ================================================================= */

@font-face {
    font-family: 'ProximaNova';
    font-display: swap;
    src: url('https://robboclub.at/wp-content/uploads/2025/04/proximanova_regular.ttf') format('truetype');
}
@font-face {
    font-family: 'Plakkaat';
    font-display: swap;
    src: url('https://robboclub.at/wp-content/uploads/2025/04/plakkaat.ttf') format('truetype');
}

.rc-pp-body {
    margin: 0 !important;
    /* The theme/header CSS sets body{padding-top:84px} to offset its fixed
       header (which we don't render here) — kill it so there's no top strip. */
    padding: 0 !important;
    background: #eef2f1;
    font-family: 'ProximaNova', 'Proxima Nova', 'Noto Sans', sans-serif;
    color: #1a1a1a;
    -webkit-font-smoothing: antialiased;
}
/* Hide any stray theme/admin chrome that may inject. */
.rc-pp-body #wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

.rc-pp-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(1200px 500px at 50% -10%, rgba(0,191,99,0.10), transparent 60%),
        #eef2f1;
}

/* --- top bar --- */
.rc-pp-top {
    padding: 18px 20px;
}
.rc-pp-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 700;
    color: #4a5a55;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e2e8e6;
    border-radius: 10px;
    padding: 8px 14px;
    transition: color .18s, border-color .18s, box-shadow .18s;
}
.rc-pp-back:hover {
    color: #00BF63;
    border-color: #00BF63;
    box-shadow: 0 4px 12px rgba(0,191,99,.12);
}

/* --- centred card --- */
.rc-pp-main {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px 28px;
}
.rc-pp-card {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(20,40,35,.10);
    padding: 30px 30px 32px;
    text-align: center;
}

.rc-pp-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--rc-theme, #00BF63);
    margin-bottom: 14px;
}
.rc-pp-icon img { width: 30px; height: 30px; object-fit: contain; }

.rc-pp-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--rc-theme, #00BF63);
    margin-bottom: 6px;
}
.rc-pp-title {
    font-family: 'Plakkaat', sans-serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    color: #16201d;
    margin: 0 0 18px;
}

/* --- meta list --- */
.rc-pp-meta {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    display: inline-flex;
    flex-direction: column;
    gap: 9px;
    text-align: left;
}
.rc-pp-meta li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14.5px;
    color: #44524d;
}
.rc-pp-meta li svg { color: var(--rc-theme, #00BF63); flex-shrink: 0; }
.rc-pp-meta a { color: #44524d; text-decoration: underline; text-underline-offset: 2px; }
.rc-pp-meta a:hover { color: #00BF63; }

/* --- buy block (native WC form, restyled) --- */
.rc-pp-buy {
    border-top: 1px solid #eef0ef;
    padding-top: 20px;
    margin-top: 4px;
}

/* Price (range at top + per-variation price). */
.rc-pp-buy .price,
.rc-pp-buy .woocommerce-variation-price .price {
    font-size: 26px;
    font-weight: 800;
    color: #00BF63;
    margin: 0 0 4px;
    line-height: 1.2;
}
.rc-pp-buy .price del { color: #b9c2bf; font-weight: 600; font-size: 18px; }
.rc-pp-buy .price ins { text-decoration: none; }

.rc-pp-formlabel {
    font-size: 13px;
    font-weight: 700;
    color: #6b7873;
    margin: 16px 0 6px;
}

/* Variation dropdown */
.rc-pp-buy table.variations {
    width: 100%;
    margin: 0 0 12px;
    border: 0;
}
.rc-pp-buy table.variations tbody,
.rc-pp-buy table.variations tr { display: block; }
.rc-pp-buy table.variations th.label { display: none; }       /* our own label above */
.rc-pp-buy table.variations td.value { display: block; padding: 0; position: relative; }
.rc-pp-buy table.variations select {
    width: 100%;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    padding: 13px 40px 13px 14px;
    border: 1.5px solid #d9e0dd;
    border-radius: 11px;
    background: #fff
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300BF63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
        no-repeat right 14px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color .18s, box-shadow .18s;
}
.rc-pp-buy table.variations select:focus {
    outline: none;
    border-color: #00BF63;
    box-shadow: 0 0 0 3px rgba(0,191,99,.15);
}
/* "Auswahl zurücksetzen" — hidden: redundant for a 2-option payment select and
   it desyncs the Choices widget on reset. */
.rc-pp-buy .reset_variations { display: none !important; }

/* Branded Choices dropdown wrapper (agent-ui.css styles the widget itself). */
.rc-pp-buy .choices { width: 100%; margin: 0 0 12px; text-align: left; }
.rc-pp-buy .choices:focus-within { outline: none; }

.rc-pp-buy .woocommerce-variation-availability { margin: 4px 0 10px; }
.rc-pp-buy .stock,
.rc-pp-buy .availability .stock {
    font-size: 13px;
    font-weight: 600;
    color: #00a957;
    margin: 4px 0 12px;
}
.rc-pp-buy .stock.out-of-stock { color: #e53e3e; }

/* qty + add button row */
.rc-pp-buy form.cart {
    display: block;
    margin: 0;
}
.rc-pp-buy .woocommerce-variation-add-to-cart,
.rc-pp-buy form.cart:not(.variations_form) {
    display: flex;
    align-items: stretch;
    gap: 10px;
}
.rc-pp-buy .quantity {
    flex: 0 0 auto;
}
.rc-pp-buy .quantity input.qty {
    width: 64px;
    height: 100%;
    min-height: 52px;
    text-align: center;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    border: 1.5px solid #d9e0dd;
    border-radius: 11px;
    background: #fff;
    box-sizing: border-box;
    -moz-appearance: textfield;
}
.rc-pp-buy button.single_add_to_cart_button {
    flex: 1 1 auto;
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
    color: #fff;
    background: #00BF63;
    border: none;
    border-radius: 11px;
    padding: 15px 20px;
    cursor: pointer;
    transition: background .18s, transform .05s;
    box-shadow: 0 6px 16px rgba(0,191,99,.25);
}
.rc-pp-buy button.single_add_to_cart_button:hover { background: #00a957; }
.rc-pp-buy button.single_add_to_cart_button:active { transform: translateY(1px); }
.rc-pp-buy button.single_add_to_cart_button.disabled,
.rc-pp-buy button.single_add_to_cart_button[disabled] {
    background: #c7d2ce;
    box-shadow: none;
    cursor: not-allowed;
}

/* WC notices (e.g. variation needed) inside the card */
.rc-pp-buy .woocommerce-variation.single_variation { margin-bottom: 12px; }

/* --- help footer --- */
.rc-pp-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    background: #fff;
    border-top: 1px solid #e6ebe9;
    padding: 16px 24px;
}
.rc-pp-help__text strong { display: block; font-size: 15px; color: #16201d; }
.rc-pp-help__text span { font-size: 13px; color: #6b7873; }
.rc-pp-help__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.rc-pp-help__wa,
.rc-pp-help__back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 10px;
    padding: 9px 16px;
}
.rc-pp-help__wa { color: #fff; background: #25D366; }
.rc-pp-help__wa:hover { background: #1ebe5b; }
.rc-pp-help__back { color: #16201d; background: #eef2f1; border: 1px solid #e2e8e6; }
.rc-pp-help__back:hover { color: #00BF63; }

/* --- mobile --- */
@media (max-width: 520px) {
    .rc-pp-card { padding: 26px 20px 28px; border-radius: 18px; }
    .rc-pp-title { font-size: 23px; }
    .rc-pp-help { flex-direction: column; align-items: flex-start; }
    .rc-pp-help__actions { width: 100%; }
    .rc-pp-help__wa, .rc-pp-help__back { flex: 1 1 auto; justify-content: center; }
}
