/*
Theme Name: Raylink Living
Theme URI: https://raylinkshop.com/
Description: Bright, warm WooCommerce storefront child theme preserving the Watch Collection commerce stack.
Author: Raylink
Template: watch-collection
Version: 1.0.0
Requires at least: 7.0
Requires PHP: 8.1
Text Domain: raylink-living
*/

:root {
    --rl-ink: #243a34;
    --rl-ink-soft: #526760;
    --rl-coral: #ef7658;
    --rl-coral-dark: #d95437;
    --rl-peach: #ffd8c7;
    --rl-butter: #f8dc79;
    --rl-sage: #c9dfc6;
    --rl-sky: #cfe3f1;
    --rl-cream: #fff8f0;
    --rl-paper: #fffdf9;
    --rl-line: rgba(36, 58, 52, .13);
    --rl-radius: 28px;
    --rl-shadow: 0 24px 70px rgba(70, 52, 38, .13);
}

html { overflow-x: hidden; }
body {
    background: var(--rl-paper);
    color: var(--rl-ink);
    font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: clip;
}

body a { color: inherit; }
body button,
body input,
body select,
body textarea { font-family: inherit; }

.watch-collection-header,
.watch-collection-header.is-overlay,
.watch-collection-header.is-scrolled {
    background: rgba(255, 253, 249, .95);
    border-bottom: 1px solid var(--rl-line);
    box-shadow: none;
    color: var(--rl-ink);
    left: auto;
    position: sticky;
    right: auto;
    top: 0;
    backdrop-filter: blur(18px);
}

.admin-bar .watch-collection-header.is-overlay,
.admin-bar .watch-collection-header.is-scrolled { top: 32px; }
.watch-collection-header-inner { max-width: 1450px; }
.watch-collection-brand {
    color: var(--rl-coral-dark);
    font-size: clamp(18px, 1.7vw, 25px);
    font-weight: 800;
    letter-spacing: .11em;
}
.watch-collection-desktop-nav > a,
.watch-collection-mega-trigger > a { font-weight: 650; }
.watch-collection-desktop-nav a:hover,
.watch-collection-desktop-nav a:focus-visible {
    color: var(--rl-coral-dark);
    text-decoration: none;
}
.watch-collection-icon-button { border-radius: 999px; }
.watch-collection-icon-button:hover { background: var(--rl-cream); }
.watch-collection-cart-count { background: var(--rl-coral); }
.watch-collection-mega-menu { border-color: var(--rl-line); box-shadow: var(--rl-shadow); }

.raylink-home { background: var(--rl-paper); }
.raylink-home * { box-sizing: border-box; }
.raylink-home h1,
.raylink-home h2,
.raylink-home h3,
.raylink-home p { margin-top: 0; }

.rl-wrap {
    margin-inline: auto;
    max-width: 1450px;
    padding-inline: clamp(18px, 4vw, 64px);
}

.rl-hero-shell { padding: clamp(14px, 2vw, 28px); }
.rl-hero {
    align-items: center;
    border-radius: clamp(24px, 3vw, 44px);
    display: flex;
    min-height: min(710px, calc(100svh - 118px));
    overflow: hidden;
    position: relative;
}
.rl-hero picture,
.rl-hero picture img {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}
.rl-hero picture img { object-fit: cover; object-position: center; }
.rl-hero::after {
    background: linear-gradient(90deg, rgba(255, 249, 240, .98) 0%, rgba(255, 249, 240, .89) 31%, rgba(255, 249, 240, .17) 64%, transparent 80%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.rl-hero-copy {
    max-width: 650px;
    padding: clamp(48px, 7vw, 105px);
    position: relative;
    z-index: 2;
}
.rl-kicker {
    align-items: center;
    color: var(--rl-coral-dark);
    display: flex;
    font-size: 12px;
    font-weight: 800;
    gap: 11px;
    letter-spacing: .13em;
    margin-bottom: 18px;
    text-transform: uppercase;
}
.rl-kicker::before {
    background: var(--rl-coral);
    border-radius: 99px;
    content: "";
    height: 8px;
    width: 30px;
}
.rl-hero h1 {
    color: var(--rl-ink);
    font-family: "Red Hat Display", "Manrope", sans-serif;
    font-size: clamp(52px, 7vw, 102px);
    font-weight: 650;
    letter-spacing: -.055em;
    line-height: .92;
    margin-bottom: 25px;
    max-width: 650px;
}
.rl-hero-copy > p:not(.rl-kicker) {
    color: var(--rl-ink-soft);
    font-size: clamp(17px, 1.45vw, 22px);
    line-height: 1.65;
    margin-bottom: 32px;
    max-width: 540px;
}
.rl-button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.rl-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: center;
    min-height: 54px;
    padding: 0 26px;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.rl-button:hover { transform: translateY(-2px); }
.rl-button.is-primary { background: var(--rl-coral); color: #fff; }
.rl-button.is-primary:hover { background: var(--rl-coral-dark); }
.rl-button.is-secondary { background: rgba(255, 255, 255, .68); border-color: var(--rl-line); color: var(--rl-ink); }
.rl-button.is-secondary:hover { background: #fff; }

.rl-promise-bar {
    border-bottom: 1px solid var(--rl-line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-inline: auto;
    max-width: 1320px;
    padding: 17px clamp(18px, 4vw, 54px);
}
.rl-promise {
    align-items: center;
    display: flex;
    font-size: 13px;
    gap: 13px;
    justify-content: center;
    padding: 8px 20px;
}
.rl-promise + .rl-promise { border-left: 1px solid var(--rl-line); }
.rl-promise span:first-child {
    align-items: center;
    background: var(--rl-cream);
    border-radius: 999px;
    display: inline-flex;
    font-size: 17px;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.rl-promise strong { display: block; font-size: 13px; }
.rl-promise small { color: var(--rl-ink-soft); display: block; }

.rl-section { padding-block: clamp(70px, 9vw, 130px); }
.rl-section.is-tinted { background: #fff5ec; }
.rl-section-heading {
    align-items: end;
    display: flex;
    gap: 28px;
    justify-content: space-between;
    margin-bottom: clamp(32px, 4vw, 56px);
}
.rl-section-heading > div { max-width: 720px; }
.rl-section-heading .rl-kicker { margin-bottom: 10px; }
.rl-section-heading h2 {
    color: var(--rl-ink);
    font-family: "Red Hat Display", "Manrope", sans-serif;
    font-size: clamp(38px, 5vw, 67px);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1;
    margin-bottom: 12px;
}
.rl-section-heading p { color: var(--rl-ink-soft); font-size: 16px; line-height: 1.7; margin-bottom: 0; }
.rl-text-link { border-bottom: 2px solid var(--rl-coral); font-size: 14px; font-weight: 800; padding-bottom: 5px; white-space: nowrap; }

.rl-category-grid {
    display: grid;
    gap: clamp(14px, 2vw, 26px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rl-category-card {
    border-radius: var(--rl-radius);
    color: var(--rl-ink);
    min-height: 390px;
    overflow: hidden;
    padding: clamp(24px, 2.5vw, 38px);
    position: relative;
    transition: transform .25s ease, box-shadow .25s ease;
}
.rl-category-card:nth-child(1) { background: var(--rl-peach); }
.rl-category-card:nth-child(2) { background: var(--rl-sage); }
.rl-category-card:nth-child(3) { background: var(--rl-sky); }
.rl-category-card:nth-child(4) { background: var(--rl-butter); }
.rl-category-card:hover { box-shadow: var(--rl-shadow); transform: translateY(-6px); }
.rl-category-card h3 { font-size: clamp(22px, 2vw, 31px); letter-spacing: -.035em; line-height: 1.05; margin-bottom: 8px; max-width: 220px; }
.rl-category-card p { font-size: 13px; font-weight: 700; opacity: .72; }
.rl-category-card .rl-category-arrow {
    align-items: center;
    background: rgba(255, 255, 255, .78);
    border-radius: 999px;
    display: flex;
    font-size: 19px;
    height: 45px;
    justify-content: center;
    position: absolute;
    right: 24px;
    top: 24px;
    width: 45px;
    z-index: 2;
}
.rl-category-image {
    align-items: end;
    bottom: -2%;
    display: flex;
    height: 70%;
    justify-content: center;
    left: 7%;
    position: absolute;
    right: 7%;
}
.rl-category-image img { height: 100%; object-fit: contain; width: 100%; mix-blend-mode: multiply; }

.rl-product-grid {
    display: grid;
    gap: clamp(20px, 2.2vw, 34px) clamp(14px, 2vw, 26px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rl-product-card { min-width: 0; }
.rl-product-media {
    aspect-ratio: 4 / 5;
    background: #f3eee7;
    border-radius: 24px;
    display: block;
    overflow: hidden;
    position: relative;
}
.rl-product-media img { height: 100%; object-fit: contain; transition: transform .35s ease; width: 100%; }
.rl-product-card:hover .rl-product-media img { transform: scale(1.035); }
.rl-product-badge {
    background: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    left: 14px;
    padding: 8px 11px;
    position: absolute;
    top: 14px;
}
.rl-product-copy { padding: 17px 4px 0; }
.rl-product-taxonomy,
.rl-product-taxonomy a { color: var(--rl-coral-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rl-product-copy h3 { font-size: clamp(15px, 1.2vw, 18px); font-weight: 700; line-height: 1.35; margin: 7px 0 14px; min-height: 2.7em; }
.rl-product-copy h3 a:hover { color: var(--rl-coral-dark); }
.rl-product-row { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.rl-product-price { font-size: 14px; font-weight: 800; }
.rl-product-price del { color: #8a9692; font-weight: 500; margin-right: 4px; }
.rl-product-price ins { text-decoration: none; }
.rl-quick-add {
    align-items: center;
    background: var(--rl-ink);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 23px;
    height: 42px;
    justify-content: center;
    line-height: 1;
    width: 42px;
}
.rl-quick-add:hover { background: var(--rl-coral); color: #fff; }
.rl-quick-add.loading { opacity: .6; }

.rl-editorial-grid { display: grid; gap: clamp(16px, 2vw, 28px); grid-template-columns: 1.45fr .75fr; }
.rl-editorial-card {
    border-radius: clamp(24px, 3vw, 38px);
    min-height: 620px;
    overflow: hidden;
    position: relative;
}
.rl-editorial-card picture,
.rl-editorial-card picture img { height: 100%; inset: 0; position: absolute; width: 100%; }
.rl-editorial-card picture img { object-fit: cover; }
.rl-editorial-card::after { background: linear-gradient(0deg, rgba(20, 36, 32, .78), rgba(20, 36, 32, 0) 60%); content: ""; inset: 0; position: absolute; }
.rl-editorial-card.is-portrait::after { background: linear-gradient(0deg, rgba(14, 36, 66, .86), rgba(14, 36, 66, 0) 64%); }
.rl-editorial-copy { bottom: 0; color: #fff; left: 0; max-width: 660px; padding: clamp(28px, 4vw, 55px); position: absolute; z-index: 2; }
.rl-editorial-copy .rl-kicker { color: #fff; margin-bottom: 12px; }
.rl-editorial-copy .rl-kicker::before { background: var(--rl-butter); }
.rl-editorial-copy h2 { color: #fff; font-size: clamp(35px, 4vw, 60px); letter-spacing: -.045em; line-height: .98; margin-bottom: 14px; }
.rl-editorial-copy p { font-size: 15px; line-height: 1.6; margin-bottom: 22px; }
.rl-editorial-copy a { font-size: 13px; font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

.rl-note {
    align-items: center;
    background: var(--rl-ink);
    border-radius: 34px;
    color: #fff;
    display: grid;
    gap: 30px;
    grid-template-columns: .8fr 1.2fr;
    padding: clamp(34px, 6vw, 84px);
}
.rl-note-mark { color: var(--rl-butter); font-size: clamp(85px, 12vw, 190px); font-weight: 700; letter-spacing: -.09em; line-height: .7; }
.rl-note h2 { color: #fff; font-size: clamp(34px, 4.2vw, 62px); letter-spacing: -.045em; line-height: 1; margin-bottom: 18px; }
.rl-note p { color: rgba(255,255,255,.76); line-height: 1.75; margin-bottom: 0; max-width: 680px; }

.watch-collection-footer { background: var(--rl-ink); }
.watch-collection-footer h2 { color: #fff; }
.watch-collection-footer-signup > p { color: rgba(255,255,255,.67); }
.watch-collection-footer-bottom { border-top-color: rgba(255,255,255,.18); }

.watch-collection-inner-page .watch-collection-main,
.watch-collection-woocommerce-ready:not(.watch-collection-front-page) main { background: var(--rl-paper); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.watch-collection-dark-button { background: var(--rl-coral); border-radius: 999px; color: #fff; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.watch-collection-dark-button:hover { background: var(--rl-coral-dark); color: #fff; }

@media (max-width: 1100px) {
    .rl-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rl-category-card { min-height: 360px; }
    .rl-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rl-editorial-card { min-height: 560px; }
}

@media (max-width: 980px) {
    .admin-bar .watch-collection-header.is-overlay,
    .admin-bar .watch-collection-header.is-scrolled { top: 46px; }
    .rl-hero { min-height: 650px; }
    .rl-hero::after { background: linear-gradient(90deg, rgba(255,249,240,.94), rgba(255,249,240,.46) 65%, rgba(255,249,240,.08)); }
    .rl-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rl-editorial-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 699px) {
    :root { --rl-radius: 22px; }
    .admin-bar .watch-collection-header.is-overlay,
    .admin-bar .watch-collection-header.is-scrolled { top: 0; }
    .watch-collection-header { height: 68px; }
    .watch-collection-brand { font-size: 16px; }
    .rl-wrap { padding-inline: 16px; }
    .rl-hero-shell { padding: 10px; }
    .rl-hero { align-items: flex-end; min-height: 690px; }
    .rl-hero picture img { object-position: center; }
    .rl-hero::after { background: linear-gradient(0deg, rgba(255,249,240,.98) 0%, rgba(255,249,240,.9) 31%, rgba(255,249,240,.1) 67%, transparent 82%); }
    .rl-hero-copy { padding: 34px 24px 38px; }
    .rl-kicker { font-size: 10px; margin-bottom: 12px; }
    .rl-hero h1 { font-size: clamp(46px, 14.5vw, 64px); margin-bottom: 16px; max-width: 340px; }
    .rl-hero-copy > p:not(.rl-kicker) { font-size: 15px; line-height: 1.55; margin-bottom: 22px; max-width: 330px; }
    .rl-button { font-size: 12px; min-height: 48px; padding: 0 19px; }
    .rl-promise-bar { grid-template-columns: 1fr; padding-block: 12px; }
    .rl-promise { justify-content: flex-start; padding: 9px 6px; }
    .rl-promise + .rl-promise { border-left: 0; border-top: 1px solid var(--rl-line); }
    .rl-section { padding-block: 72px; }
    .rl-section-heading { align-items: start; flex-direction: column; gap: 16px; }
    .rl-section-heading h2 { font-size: 41px; }
    .rl-category-grid { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rl-category-card { min-height: 270px; padding: 19px; }
    .rl-category-card h3 { font-size: 19px; max-width: 125px; }
    .rl-category-card p { font-size: 11px; max-width: 105px; }
    .rl-category-card .rl-category-arrow { height: 36px; right: 13px; top: 13px; width: 36px; }
    .rl-category-image { height: 60%; left: 2%; right: 2%; }
    .rl-product-grid { column-gap: 11px; row-gap: 28px; }
    .rl-product-media { border-radius: 16px; }
    .rl-product-copy { padding-top: 12px; }
    .rl-product-taxonomy, .rl-product-taxonomy a { font-size: 8px; }
    .rl-product-copy h3 { font-size: 13px; min-height: 3.8em; }
    .rl-product-price { font-size: 12px; }
    .rl-quick-add { height: 35px; width: 35px; }
    .rl-editorial-grid { grid-template-columns: 1fr; }
    .rl-editorial-card { min-height: 540px; }
    .rl-editorial-card.is-portrait { min-height: 590px; }
    .rl-editorial-copy h2 { font-size: 39px; }
    .rl-note { grid-template-columns: 1fr; }
    .rl-note-mark { font-size: 105px; }
}

@media (prefers-reduced-motion: reduce) {
    .rl-category-card,
    .rl-product-media img,
    .rl-button { transition: none; }
}

/* Keep policy links in one dedicated, responsive footer column. */
@media (min-width: 981px) {
    .watch-collection-footer-grid {
        gap: clamp(24px, 3vw, 52px);
        grid-template-columns: minmax(260px, 1.35fr) repeat(4, minmax(125px, .72fr));
    }
}
.raylink-footer-policies {
    min-width: 0;
}
.raylink-footer-policies a {
    overflow-wrap: anywhere;
}