/* =========================================================================
   Shared default styling for legal / policy pages
   Applies only when the embedded default HTML is rendered (no Hive override).
   Targets: Cookie Policy, Privacy Policy, Return Policy, Terms of Use.
   ========================================================================= */

.cookie-policy-page-content.cookie-policy-default,
.privacy-policy-page-content.privacy-policy-default,
.return-policy-page-content.return-policy-default,
.terms-of-use-page-content.terms-of-use-default {
    --policy-fg: #1f2937;
    --policy-muted: #4b5563;
    --policy-accent: #4C0C3A;
    --policy-accent-soft: #F4EAF0;
    --policy-border: #e5e7eb;
    --policy-rule: #cfd8dc;
    --policy-bg: #ffffff;
    --policy-bg-alt: #f7f9fc;

    max-width: 980px;
    margin: 2rem auto;
    padding: 0 1rem;
    color: var(--policy-fg);
    font-family: "Roboto", "Segoe UI", system-ui, -apple-system, sans-serif;
    line-height: 1.65;
    font-size: 1rem;
}

/* MudPaper wrapper */
.cookie-policy-page-content.cookie-policy-default > .mud-paper,
.privacy-policy-page-content.privacy-policy-default > .mud-paper,
.return-policy-page-content.return-policy-default > .mud-paper,
.terms-of-use-page-content.terms-of-use-default > .mud-paper {
    padding: 2.5rem 2.75rem !important;
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.06);
    background: var(--policy-bg);
}

/* Headings */
.cookie-policy-page-content.cookie-policy-default h1,
.privacy-policy-page-content.privacy-policy-default h1,
.return-policy-page-content.return-policy-default h1,
.terms-of-use-page-content.terms-of-use-default h1,
.terms-of-use-page-content.terms-of-use-default .terms-logo,
.privacy-policy-page-content.privacy-policy-default .privacy-title,
.return-policy-page-content.return-policy-default .returns-title {
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid var(--policy-accent);
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.cookie-policy-page-content.cookie-policy-default h2,
.privacy-policy-page-content.privacy-policy-default h2,
.return-policy-page-content.return-policy-default h2,
.terms-of-use-page-content.terms-of-use-default h2,
.privacy-policy-page-content.privacy-policy-default .privacy-section-title,
.terms-of-use-page-content.terms-of-use-default .terms-section-title {
    font-size: 1.35rem;
    font-weight: 600;
    color: #0f172a;
    margin: 2rem 0 0.75rem;
    padding-left: 0.75rem;
    border-left: 4px solid var(--policy-accent);
    line-height: 1.3;
}

.cookie-policy-page-content.cookie-policy-default h3,
.privacy-policy-page-content.privacy-policy-default h3,
.return-policy-page-content.return-policy-default h3,
.terms-of-use-page-content.terms-of-use-default h3,
.terms-of-use-page-content.terms-of-use-default .terms-subsection-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin: 1.5rem 0 0.5rem;
}

/* Paragraphs */
.cookie-policy-page-content.cookie-policy-default p,
.privacy-policy-page-content.privacy-policy-default p,
.return-policy-page-content.return-policy-default p,
.terms-of-use-page-content.terms-of-use-default p {
    margin: 0 0 1rem;
    color: var(--policy-muted);
}

.cookie-policy-page-content.cookie-policy-default strong,
.cookie-policy-page-content.cookie-policy-default b,
.privacy-policy-page-content.privacy-policy-default strong,
.privacy-policy-page-content.privacy-policy-default b,
.return-policy-page-content.return-policy-default strong,
.return-policy-page-content.return-policy-default b,
.terms-of-use-page-content.terms-of-use-default strong,
.terms-of-use-page-content.terms-of-use-default b {
    color: var(--policy-fg);
}

/* Links */
.cookie-policy-page-content.cookie-policy-default a,
.privacy-policy-page-content.privacy-policy-default a,
.return-policy-page-content.return-policy-default a,
.terms-of-use-page-content.terms-of-use-default a {
    color: var(--policy-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.cookie-policy-page-content.cookie-policy-default a:hover,
.privacy-policy-page-content.privacy-policy-default a:hover,
.return-policy-page-content.return-policy-default a:hover,
.terms-of-use-page-content.terms-of-use-default a:hover {
    color: #0d47a1;
    border-bottom-color: currentColor;
}

/* Lists */
.cookie-policy-page-content.cookie-policy-default ul,
.cookie-policy-page-content.cookie-policy-default ol,
.privacy-policy-page-content.privacy-policy-default ul,
.privacy-policy-page-content.privacy-policy-default ol,
.return-policy-page-content.return-policy-default ul,
.return-policy-page-content.return-policy-default ol,
.terms-of-use-page-content.terms-of-use-default ul,
.terms-of-use-page-content.terms-of-use-default ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
    color: var(--policy-muted);
}

.cookie-policy-page-content.cookie-policy-default li,
.privacy-policy-page-content.privacy-policy-default li,
.return-policy-page-content.return-policy-default li,
.terms-of-use-page-content.terms-of-use-default li {
    margin-bottom: 0.4rem;
}

/* Address blocks */
.cookie-policy-page-content.cookie-policy-default address,
.privacy-policy-page-content.privacy-policy-default address,
.return-policy-page-content.return-policy-default address,
.terms-of-use-page-content.terms-of-use-default address {
    display: block;
    background: var(--policy-bg-alt);
    border-left: 3px solid var(--policy-accent);
    padding: 0.85rem 1rem;
    margin: 1rem 0 1.25rem;
    font-style: normal;
    border-radius: 6px;
}

.cookie-policy-page-content.cookie-policy-default address span,
.privacy-policy-page-content.privacy-policy-default address span,
.return-policy-page-content.return-policy-default address span,
.terms-of-use-page-content.terms-of-use-default address span {
    display: block;
}

/* =========================================================================
   Cookie Policy specifics
   ========================================================================= */
.cookie-policy-page-content.cookie-policy-default .cookie-policy-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 1.5rem 0 2rem;
    border: 1px solid var(--policy-border);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cookie-policy-page-content.cookie-policy-default .cookie-policy-table thead th {
    background: var(--policy-accent-soft);
    color: #0d47a1;
    text-align: left;
    padding: 0.85rem 1rem;
    font-weight: 600;
    border-bottom: 1px solid var(--policy-border);
}

.cookie-policy-page-content.cookie-policy-default .cookie-policy-table td {
    padding: 0.9rem 1rem;
    border-top: 1px solid var(--policy-border);
    vertical-align: top;
    color: var(--policy-fg);
}

.cookie-policy-page-content.cookie-policy-default .cookie-policy-table tbody tr:nth-child(even) td {
    background: var(--policy-bg-alt);
}

/* Decline / Accept anchors → render as buttons */
.cookie-policy-page-content.cookie-policy-default a.cookie-policy-accept,
.cookie-policy-page-content.cookie-policy-default a.cookie-policy-decline,
.cookie-policy-page-content.cookie-policy-default a[href*="/cookieselection"] {
    display: inline-block;
    padding: 0.55rem 1.25rem;
    border-radius: 999px;
    font-weight: 600;
    border: 1px solid transparent;
    margin: 0.25rem 0.5rem 0.25rem 0;
    text-decoration: none;
}

.cookie-policy-page-content.cookie-policy-default a[href*="action=accept"] {
    background: var(--policy-accent);
    color: #fff;
}

.cookie-policy-page-content.cookie-policy-default a[href*="action=accept"]:hover {
    background: #125ea8;
    border-color: #125ea8;
    color: #fff;
}

.cookie-policy-page-content.cookie-policy-default a[href*="action=deny"],
.cookie-policy-page-content.cookie-policy-default a[href*="action=decline"] {
    background: #fff;
    color: var(--policy-accent);
    border-color: var(--policy-accent);
}

.cookie-policy-page-content.cookie-policy-default a[href*="action=deny"]:hover,
.cookie-policy-page-content.cookie-policy-default a[href*="action=decline"]:hover {
    background: var(--policy-accent-soft);
    color: #0d47a1;
}

/* =========================================================================
   Return Policy specifics
   ========================================================================= */
.return-policy-page-content.return-policy-default .returns-container .question,
.return-policy-page-content.return-policy-default .question {
    font-size: 1.15rem;
    font-weight: 600;
    color: #0f172a;
    margin: 1.5rem 0 0.5rem;
    padding-left: 0.75rem;
    border-left: 4px solid var(--policy-accent);
}

.return-policy-page-content.return-policy-default .instructions {
    background: var(--policy-bg-alt);
    border: 1px solid var(--policy-border);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin: 0.5rem 0 1.25rem;
}

.return-policy-page-content.return-policy-default .instructions ul,
.return-policy-page-content.return-policy-default .instructions ol {
    margin-bottom: 0;
}

.return-policy-page-content.return-policy-default .instructions ol.sub-step {
    margin-top: 0.5rem;
}

.return-policy-page-content.return-policy-default em {
    color: var(--policy-muted);
}

/* =========================================================================
   Privacy Policy specifics
   ========================================================================= */
.privacy-policy-page-content.privacy-policy-default .privacy-container > p:first-of-type {
    font-size: 1.05rem;
    color: var(--policy-fg);
}

.privacy-policy-page-content.privacy-policy-default ul.square-list {
    list-style-type: square;
}

.privacy-policy-page-content.privacy-policy-default ol.parentheses-list {
    list-style-type: decimal;
}

/* =========================================================================
   Terms of Use specifics
   ========================================================================= */
.terms-of-use-page-content.terms-of-use-default .terms-header-line {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--policy-muted);
    font-size: 0.85rem;
    margin: 0;
}

.terms-of-use-page-content.terms-of-use-default .terms-logo {
    text-align: center;
    border-bottom: none;
    padding-bottom: 0;
    margin: 0.75rem 0 0.5rem;
    color: var(--policy-accent);
    letter-spacing: 0.02em;
}

.terms-of-use-page-content.terms-of-use-default .terms-last-modified {
    text-align: center;
    color: var(--policy-muted);
    font-style: italic;
    margin-bottom: 2rem;
}

.terms-of-use-page-content.terms-of-use-default .terms-list-item {
    margin-bottom: 0.5rem;
}

.terms-of-use-page-content.terms-of-use-default .terms-underline {
    text-decoration: underline;
}

.terms-of-use-page-content.terms-of-use-default .terms-operator-label {
    margin-top: 1.25rem;
    font-weight: 600;
}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 767px) {
    .cookie-policy-page-content.cookie-policy-default,
    .privacy-policy-page-content.privacy-policy-default,
    .return-policy-page-content.return-policy-default,
    .terms-of-use-page-content.terms-of-use-default {
        margin: 1rem auto;
        font-size: 0.95rem;
    }

    .cookie-policy-page-content.cookie-policy-default > .mud-paper,
    .privacy-policy-page-content.privacy-policy-default > .mud-paper,
    .return-policy-page-content.return-policy-default > .mud-paper,
    .terms-of-use-page-content.terms-of-use-default > .mud-paper {
        padding: 1.25rem 1.1rem !important;
        border-radius: 10px;
    }

    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table,
    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table thead,
    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table tbody,
    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table tr,
    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table th,
    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table td {
        display: block;
        width: 100%;
    }

    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table thead {
        display: none;
    }

    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table td {
        border-top: none;
    }

    .cookie-policy-page-content.cookie-policy-default .cookie-policy-table tr {
        border-top: 1px solid var(--policy-border);
    }
}
