/* =============================================================
   default_v1 — Page-specific styles.
   Section-only blocks (hero, cats, testimonials, premium footer)
   live inside each section variant as scoped <style> now.
   ============================================================= */

/* -------------------------------------------------------------
   Auth pages (login, register, forgot, reset, check_inbox)
   ------------------------------------------------------------- */
.t-auth {
    min-height: calc(100vh - var(--header-h) - 200px);
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-8) var(--space-4);
}
.t-auth__card {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-lg);
    padding: var(--space-8);
    box-shadow: var(--shadow-sm);
}
.t-auth__title { font-size: var(--fz-24); font-weight: var(--fw-700); margin-block-end: 6px; color: var(--ink-900); }
.t-auth__lead  { color: var(--ink-500); font-size: var(--fz-14); margin-block-end: var(--space-6); }
.t-auth__footer {
    text-align: center;
    margin-block-start: var(--space-5);
    font-size: var(--fz-13);
    color: var(--ink-500);
}
.t-auth__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-block: var(--space-4);
    flex-wrap: wrap;
    gap: var(--space-2);
}

/* -------------------------------------------------------------
   About page
   ------------------------------------------------------------- */
.t-about {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: center;
}
@media (min-width: 900px) { .t-about { grid-template-columns: 1fr 1fr; } }
.t-about__media { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.t-about__media img { width: 100%; height: auto; }

/* -------------------------------------------------------------
   PDP (product page)
   ------------------------------------------------------------- */
.t-pdp { padding-block: var(--space-8); }
.t-pdp__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
}
@media (min-width: 900px) {
    .t-pdp__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-10); }
}

.t-pdp__gallery {}
.t-pdp__gallery-main {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--ink-025);
    border-radius: var(--r-lg);
    overflow: hidden;
    cursor: zoom-in;
}
.t-pdp__gallery-main img {
    width: 100%; height: 100%; object-fit: cover;
}
.t-pdp__thumbs {
    display: flex;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
    overflow-x: auto;
    padding-block-end: 4px;
}
.t-pdp__thumb {
    flex: 0 0 80px;
    aspect-ratio: 1 / 1;
    border-radius: var(--r-sm);
    border: 2px solid transparent;
    overflow: hidden;
    cursor: pointer;
    background: var(--ink-025);
}
.t-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.t-pdp__thumb.is-active { border-color: var(--primary); }

.t-pdp__type-pill {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    background: var(--primary-soft);
    color: var(--primary);
    font-size: var(--fz-12);
    font-weight: var(--fw-600);
    margin-block-end: var(--space-3);
}
.t-pdp__title {
    font-size: var(--fz-24);
    font-weight: var(--fw-700);
    color: var(--ink-900);
    line-height: 1.2;
    margin-block-end: var(--space-3);
}
@media (min-width: 768px) { .t-pdp__title { font-size: var(--fz-30); } }
.t-pdp__short { color: var(--ink-500); font-size: var(--fz-14); margin-block-end: var(--space-4); }

.t-pdp__price-row {
    display: flex; align-items: baseline; gap: var(--space-3);
    margin-block-end: var(--space-4);
}
.t-pdp__price { font-size: var(--fz-30); font-weight: var(--fw-800); color: var(--ink-900); }
.t-pdp__compare { font-size: var(--fz-16); color: var(--ink-400); text-decoration: line-through; }
.t-pdp__discount {
    background: var(--danger-bg); color: var(--danger-fg);
    padding: 3px 8px; border-radius: var(--r-sm);
    font-size: var(--fz-12); font-weight: var(--fw-700);
}

.t-pdp__avail {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: var(--fz-13);
    margin-block-end: var(--space-4);
}
.t-pdp__avail-dot { width: 8px; height: 8px; border-radius: 50%; }
.t-pdp__avail--in   { color: var(--success-fg); }
.t-pdp__avail--in .t-pdp__avail-dot   { background: var(--success); }
.t-pdp__avail--low  { color: var(--warning-fg); }
.t-pdp__avail--low .t-pdp__avail-dot  { background: var(--warning); }
.t-pdp__avail--out  { color: var(--danger-fg); }
.t-pdp__avail--out .t-pdp__avail-dot  { background: var(--danger); }

.t-pdp__variant { margin-block-end: var(--space-4); }
.t-pdp__variant-label {
    font-size: var(--fz-13);
    font-weight: var(--fw-600);
    color: var(--ink-700);
    margin-block-end: var(--space-2);
}
.t-pdp__variant-label-value { color: var(--ink-500); font-weight: var(--fw-500); }
.t-pdp__variant-options { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.t-swatch { position: relative; display: inline-block; }
.t-swatch input { position: absolute; opacity: 0; inset: 0; }
.t-swatch__label {
    display: inline-block;
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 2px solid transparent;
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px var(--ink-200);
    cursor: pointer;
    transition: border-color var(--dur-fast);
}
.t-swatch input:checked + .t-swatch__label { border-color: var(--primary); }
.t-swatch input:disabled + .t-swatch__label { opacity: .4; cursor: not-allowed; }

.t-chip { position: relative; }
.t-chip input { position: absolute; opacity: 0; inset: 0; }
.t-chip__label {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; height: 36px;
    padding: 0 12px;
    border-radius: var(--r-sm);
    background: #fff;
    border: 1.5px solid var(--ink-200);
    color: var(--ink-700);
    font-size: var(--fz-13);
    font-weight: var(--fw-600);
    cursor: pointer;
    transition: all var(--dur-fast);
}
.t-chip input:checked + .t-chip__label { border-color: var(--primary); background: var(--primary-soft); color: var(--primary); }
.t-chip input:disabled + .t-chip__label { opacity: .4; cursor: not-allowed; text-decoration: line-through; }

.t-pdp__action {
    display: flex; flex-wrap: wrap; gap: var(--space-3);
    margin-block: var(--space-5);
}
.t-pdp__action .t-btn { flex: 1 1 200px; }

.t-pdp__tech {
    display: inline-flex; align-items: center; gap: var(--space-2);
    color: var(--primary);
    font-size: var(--fz-13);
    margin-block-start: var(--space-4);
}
.t-pdp__tags { margin-block-start: var(--space-4); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.t-pdp__tags-label { font-size: var(--fz-12); color: var(--ink-400); margin-inline-end: 4px; }
.t-pdp__tag {
    padding: 4px 10px;
    background: var(--ink-050);
    color: var(--ink-600);
    border-radius: var(--r-pill);
    font-size: var(--fz-12);
}
.t-pdp__tag:hover { background: var(--primary-soft); color: var(--primary); }

.t-pdp__video {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: var(--r-md);
    overflow: hidden;
    background: #000;
}
.t-pdp__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Lightbox */
.t-lightbox {
    position: fixed; inset: 0;
    background: rgba(15, 23, 42, .92);
    display: none;
    align-items: center; justify-content: center;
    z-index: var(--z-modal);
    padding: var(--space-4);
}
.t-lightbox.is-open { display: flex; }
.t-lightbox img { max-width: 90vw; max-height: 90vh; border-radius: var(--r-md); }
.t-lightbox__close {
    position: absolute;
    inset-block-start: 16px;
    inset-inline-end: 16px;
    width: 40px; height: 40px;
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .1);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: var(--fz-18);
}

/* -------------------------------------------------------------
   Cart
   ------------------------------------------------------------- */
.t-cart {
    display: grid; grid-template-columns: 1fr; gap: var(--space-6);
}
@media (min-width: 900px) { .t-cart { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); align-items: start; } }

.t-cart__items { display: flex; flex-direction: column; gap: var(--space-3); }
.t-cart__item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-3);
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-md);
}
.t-cart__item img { width: 80px; height: 80px; border-radius: var(--r-sm); object-fit: cover; }
.t-cart__item-name { font-weight: var(--fw-600); color: var(--ink-800); font-size: var(--fz-14); }
.t-cart__item-variants { font-size: var(--fz-12); color: var(--ink-400); margin-block-start: 2px; }
.t-cart__item-meta {
    display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4);
    align-items: center;
    margin-block-start: var(--space-2);
}
.t-cart__item-price { color: var(--ink-500); font-size: var(--fz-13); }
.t-cart__item-total { font-weight: var(--fw-700); color: var(--ink-900); font-size: var(--fz-14); }
.t-cart__item-remove { background: transparent; border: none; color: var(--ink-400); cursor: pointer; padding: 8px; }
.t-cart__item-remove:hover { color: var(--danger); }

.t-cart__summary {
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-lg);
    padding: var(--space-6);
    position: sticky;
    inset-block-start: calc(var(--header-h) + 16px);
}
.t-cart__row {
    display: flex; justify-content: space-between;
    padding-block: 8px;
    font-size: var(--fz-14);
    color: var(--ink-600);
}
.t-cart__row--total {
    border-block-start: 1px solid var(--ink-100);
    margin-block-start: var(--space-2);
    padding-block-start: var(--space-3);
    font-size: var(--fz-16);
    font-weight: var(--fw-700);
    color: var(--ink-900);
}

/* -------------------------------------------------------------
   Checkout
   ------------------------------------------------------------- */
.t-co {
    display: grid; grid-template-columns: 1fr; gap: var(--space-6);
}
@media (min-width: 900px) { .t-co { grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); align-items: start; } }
.t-co__section { background: #fff; border: 1px solid var(--ink-100); border-radius: var(--r-lg); padding: var(--space-6); }
.t-co__section + .t-co__section { margin-block-start: var(--space-4); }
.t-co__section-title { font-size: var(--fz-16); font-weight: var(--fw-700); color: var(--ink-800); margin-block-end: var(--space-4); display: flex; align-items: center; gap: 8px; }
.t-co__step {
    display: inline-flex;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: var(--fz-12);
    font-weight: var(--fw-700);
    align-items: center; justify-content: center;
}

.t-paymethods { display: flex; flex-direction: column; gap: var(--space-2); }
.t-paymethod {
    display: flex; align-items: center; gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: 2px solid var(--ink-100);
    border-radius: var(--r-md);
    cursor: pointer;
    transition: border-color var(--dur-fast), background var(--dur-fast);
    background: #fff;
}
.t-paymethod:hover { border-color: var(--ink-200); }
.t-paymethod.is-active { border-color: var(--primary); background: var(--primary-soft); }
.t-paymethod input { accent-color: var(--primary); }
.t-paymethod__icon {
    width: 40px; height: 40px;
    border-radius: var(--r-sm);
    background: var(--ink-050);
    color: var(--ink-600);
    display: inline-flex; align-items: center; justify-content: center;
}
.t-paymethod__label { font-weight: var(--fw-600); color: var(--ink-800); font-size: var(--fz-14); }
.t-paymethod__desc  { font-size: var(--fz-12); color: var(--ink-400); }

.t-co__sticky {
    position: sticky;
    inset-block-start: calc(var(--header-h) + 16px);
}
.t-co__line {
    display: flex; justify-content: space-between;
    padding-block: 6px;
    font-size: var(--fz-13);
    color: var(--ink-600);
}
.t-co__total {
    border-block-start: 1px solid var(--ink-100);
    margin-block-start: var(--space-3);
    padding-block-start: var(--space-3);
    display: flex; justify-content: space-between;
    font-size: var(--fz-18);
    font-weight: var(--fw-700);
    color: var(--ink-900);
}

/* -------------------------------------------------------------
   Confirmation
   ------------------------------------------------------------- */
.t-confirm {
    text-align: center;
    padding-block: var(--space-12);
    max-width: 560px;
    margin: 0 auto;
}
.t-confirm__icon {
    width: 80px; height: 80px;
    border-radius: var(--r-pill);
    background: var(--success-bg);
    color: var(--success);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 32px;
    margin-block-end: var(--space-4);
}

/* -------------------------------------------------------------
   Account area
   ------------------------------------------------------------- */
.t-account {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding-block: var(--space-8);
}
@media (min-width: 900px) {
    .t-account { grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-8); align-items: start; }
}

.t-account__side {
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-lg);
    padding: var(--space-5);
    position: sticky;
    inset-block-start: calc(var(--header-h) + 16px);
}
.t-account__id {
    display: flex; align-items: center; gap: var(--space-3);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--ink-050);
    margin-block-end: var(--space-3);
}
.t-account__avatar {
    width: 48px; height: 48px;
    border-radius: var(--r-pill);
    background: var(--primary);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: var(--fw-700);
    font-size: var(--fz-18);
}
.t-account__name { font-weight: var(--fw-700); color: var(--ink-900); font-size: var(--fz-14); }
.t-account__email { color: var(--ink-400); font-size: var(--fz-12); margin-block-start: 2px; }
.t-account__menu { display: flex; flex-direction: column; gap: 2px; }
.t-account__menu-item a,
.t-account__menu-item button {
    display: flex; align-items: center; gap: var(--space-2);
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--r-sm);
    background: transparent;
    border: none;
    color: var(--ink-600);
    font-size: var(--fz-13);
    text-align: start;
    cursor: pointer;
    text-decoration: none;
    font-weight: var(--fw-500);
}
.t-account__menu-item a:hover,
.t-account__menu-item button:hover { background: var(--ink-050); color: var(--ink-900); }
.t-account__menu-item.is-active a { background: var(--primary-soft); color: var(--primary); font-weight: var(--fw-600); }
.t-account__menu-item i { width: 18px; text-align: center; color: var(--ink-400); }
.t-account__menu-item.is-active i { color: var(--primary); }
.t-account__menu-item--logout {
    margin-block-start: 8px; padding-block-start: 8px;
    border-block-start: 1px solid var(--ink-050);
}
.t-account__menu-item--logout button { color: var(--danger); }
.t-account__menu-item--logout form { margin: 0; }

.t-account__main { min-width: 0; }
.t-account__title { font-size: var(--fz-24); font-weight: var(--fw-700); color: var(--ink-900); margin-block-end: 4px; }
.t-account__subtitle { color: var(--ink-500); font-size: var(--fz-14); margin-block-end: var(--space-6); }

.t-stat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
    margin-block-end: var(--space-6);
}
@media (min-width: 540px) { .t-stat-grid { grid-template-columns: repeat(3, 1fr); } }
.t-stat {
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-md);
    padding: var(--space-4);
}
.t-stat__label {
    font-size: var(--fz-11);
    font-weight: var(--fw-600);
    color: var(--ink-400);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.t-stat__value {
    font-size: var(--fz-24);
    font-weight: var(--fw-700);
    color: var(--ink-900);
    margin-block-start: 4px;
}

.t-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fz-14);
}
.t-table th {
    text-align: start;
    padding: 10px 8px;
    font-weight: var(--fw-600);
    color: var(--ink-400);
    font-size: var(--fz-11);
    letter-spacing: .06em;
    text-transform: uppercase;
    border-block-end: 1px solid var(--ink-100);
}
.t-table td {
    padding: 13px 8px;
    border-block-end: 1px solid var(--ink-050);
    color: var(--ink-800);
    vertical-align: middle;
}
.t-table tr:last-child td { border-block-end: 0; }
.t-table code {
    font-family: var(--ff-mono);
    font-size: 12px;
    background: var(--ink-050);
    padding: 2px 6px;
    border-radius: 4px;
    color: var(--ink-700);
}
.t-table__wrap { overflow-x: auto; }

.t-banner {
    padding: 13px 16px;
    background: var(--warning-bg);
    color: var(--warning-fg);
    border: 1px solid rgba(217, 119, 6, .25);
    border-radius: var(--r-md);
    margin-block-end: var(--space-4);
    display: flex; justify-content: space-between; align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    font-size: var(--fz-13);
}
.t-banner form { margin: 0; }
.t-banner__action {
    background: var(--warning-fg); color: #fff;
    border: none; padding: 7px 12px;
    border-radius: var(--r-sm);
    font-size: var(--fz-12);
    font-weight: var(--fw-600);
    cursor: pointer;
}

/* -------------------------------------------------------------
   Address card
   ------------------------------------------------------------- */
.t-addr-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}
@media (min-width: 640px) { .t-addr-grid { grid-template-columns: repeat(2, 1fr); } }
.t-addr {
    border: 1px solid var(--ink-100);
    border-radius: var(--r-md);
    padding: var(--space-4);
    background: #fff;
    display: flex; flex-direction: column; gap: var(--space-2);
}
.t-addr__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.t-addr__label { font-weight: var(--fw-700); color: var(--ink-800); font-size: var(--fz-14); }
.t-addr__line  { font-size: var(--fz-13); color: var(--ink-500); line-height: 1.5; }
.t-addr__actions { display: flex; gap: 6px; margin-block-start: auto; }

/* =============================================================
   CONTACT — modern professional layout
   ============================================================= */
.t-contact-hero {
    background: linear-gradient(135deg, var(--ink-900) 0%, var(--ink-800) 100%);
    color: #fff;
    padding-block: var(--space-16) var(--space-20);
    position: relative;
    overflow: hidden;
    text-align: center;
}
.t-contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 30%, rgba(var(--primary-rgb, 37, 99, 235), .25), transparent 50%),
        radial-gradient(circle at 85% 70%, rgba(var(--primary-rgb, 37, 99, 235), .15), transparent 55%);
    pointer-events: none;
}
.t-contact-hero__inner { position: relative; z-index: 1; }
.t-contact-hero__eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px;
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, .12);
    font-size: var(--fz-12);
    font-weight: var(--fw-700);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-block-end: var(--space-4);
}
.t-contact-hero__title {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: var(--fw-800);
    line-height: 1.05;
    letter-spacing: -.02em;
    margin: 0 0 var(--space-3);
}
.t-contact-hero__sub {
    color: rgba(255, 255, 255, .75);
    font-size: var(--fz-16);
    max-width: 600px;
    margin: 0 auto;
}

.t-contact-wrap {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: -80px auto 0;
    padding-inline: var(--space-4);
}
@media (min-width: 768px) {
    .t-contact-wrap { padding-inline: var(--space-6); }
}

.t-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}
@media (min-width: 900px) {
    .t-contact-grid {
        grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
        gap: var(--space-6);
    }
}

.t-contact-card {
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-xl);
    padding: var(--space-8);
    box-shadow: 0 12px 40px -8px rgba(15, 23, 42, .12);
}
@media (max-width: 640px) { .t-contact-card { padding: var(--space-6); } }

.t-contact-card h2 {
    font-size: var(--fz-24);
    font-weight: var(--fw-700);
    color: var(--ink-900);
    margin: 0 0 4px;
}
.t-contact-card .lead {
    color: var(--ink-500);
    font-size: var(--fz-14);
    margin: 0 0 var(--space-5);
}

.t-contact-aside {
    display: flex; flex-direction: column;
    gap: var(--space-3);
}
.t-contact-info {
    background: var(--ink-900);
    color: #fff;
    border-radius: var(--r-xl);
    padding: var(--space-6);
    position: relative;
    overflow: hidden;
}
.t-contact-info::before {
    content: "";
    position: absolute;
    inset-block-start: -30%; inset-inline-end: -20%;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: rgba(var(--primary-rgb, 37, 99, 235), .35);
    filter: blur(40px);
}
.t-contact-info > * { position: relative; z-index: 1; }
.t-contact-info h3 {
    font-size: var(--fz-18);
    font-weight: var(--fw-700);
    margin: 0 0 var(--space-2);
}
.t-contact-info p {
    color: rgba(255, 255, 255, .7);
    font-size: var(--fz-13);
    margin: 0 0 var(--space-5);
    line-height: 1.6;
}

.t-contact-list { display: flex; flex-direction: column; gap: var(--space-4); }
.t-contact-row {
    display: flex; align-items: flex-start; gap: var(--space-3);
}
.t-contact-row__icon {
    width: 40px; height: 40px;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: var(--fz-14);
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .08);
}
.t-contact-row__label {
    font-size: var(--fz-11);
    font-weight: var(--fw-700);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
    margin-block-end: 2px;
}
.t-contact-row__value {
    color: #fff;
    font-size: var(--fz-14);
    font-weight: var(--fw-500);
    word-break: break-word;
}
.t-contact-row__value a { color: inherit; }
.t-contact-row__value a:hover { color: rgba(var(--primary-rgb, 37, 99, 235), 1); }

.t-contact-info__socials {
    display: flex; gap: 8px;
    margin-block-start: var(--space-5);
    padding-block-start: var(--space-4);
    border-block-start: 1px solid rgba(255, 255, 255, .08);
}
.t-contact-info__socials a {
    width: 38px; height: 38px;
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .06);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: var(--fz-14);
    transition: all var(--dur-fast);
    border: 1px solid rgba(255, 255, 255, .08);
}
.t-contact-info__socials a:hover {
    background: var(--primary); transform: translateY(-2px); border-color: var(--primary);
}

.t-contact-hours {
    background: #fff;
    border: 1px solid var(--ink-100);
    border-radius: var(--r-xl);
    padding: var(--space-5);
}
.t-contact-hours__head {
    display: flex; align-items: center; gap: var(--space-3);
    margin-block-end: var(--space-3);
}
.t-contact-hours__icon {
    width: 40px; height: 40px;
    border-radius: var(--r-md);
    background: var(--primary-soft);
    color: var(--primary);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: var(--fz-14);
}
.t-contact-hours__title { font-weight: var(--fw-700); color: var(--ink-800); font-size: var(--fz-14); }
.t-contact-hours__row {
    display: flex; justify-content: space-between;
    padding-block: 6px;
    font-size: var(--fz-13);
}
.t-contact-hours__row + .t-contact-hours__row { border-block-start: 1px dashed var(--ink-050); }
.t-contact-hours__row span:first-child { color: var(--ink-500); }
.t-contact-hours__row span:last-child  { color: var(--ink-800); font-weight: var(--fw-600); }

.t-contact-map {
    margin-block-start: var(--space-6);
    border-radius: var(--r-xl);
    overflow: hidden;
    border: 1px solid var(--ink-100);
    box-shadow: var(--shadow-sm);
    aspect-ratio: 21 / 9;
}
.t-contact-map iframe { width: 100%; height: 100%; border: 0; }
