/* ═══════════════════════════════════════════════════════════
   ARTISAN DUKA — Shared Page Styles
   Category Archives · Registry · Inner Pages
   Uses global :root vars from style.css
   ═══════════════════════════════════════════════════════════ */

/* ── Page-level reset ── */
.ad-page {
    font-family: var(--ad-font);
    color: var(--ad-gray-900);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.ad-page *, .ad-page *::before, .ad-page *::after { box-sizing: border-box; margin: 0; }
.ad-page-wrap { max-width: 1400px; margin: 0 auto; padding: 0 36px; }


/* ═══════════════════════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════════════════════ */
.ad-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 16px 0 0;
    font-size: .82rem;
    color: var(--ad-gray-500);
    flex-wrap: wrap;
}
.ad-breadcrumb a {
    color: var(--ad-gray-700);
    text-decoration: none;
    transition: color .15s;
}
.ad-breadcrumb a:hover {
    color: var(--ad-gray-900);
    text-decoration: underline;
}
.ad-breadcrumb__sep {
    color: var(--ad-gray-200);
    font-size: .7rem;
}


/* ═══════════════════════════════════════════════════════════
   CATEGORY ARCHIVE — Hero Banner
   ═══════════════════════════════════════════════════════════ */
.ad-cat-hero {
    background: var(--ad-sand-light);
    padding: 40px 0 36px;
    margin-bottom: 0;
}
.ad-cat-hero__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.ad-cat-hero__text {
    flex: 1;
}
.ad-cat-hero__title {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 500;
    color: var(--ad-gray-900);
    letter-spacing: -.02em;
    margin-bottom: 8px;
}
.ad-cat-hero__count {
    font-size: .9rem;
    color: var(--ad-gray-500);
}
.ad-cat-hero__desc {
    font-size: .92rem;
    color: var(--ad-gray-700);
    line-height: 1.6;
    margin-top: 8px;
    max-width: 600px;
}


/* ═══════════════════════════════════════════════════════════
   SUBCATEGORY CHIPS
   ═══════════════════════════════════════════════════════════ */
.ad-subcats {
    padding: 20px 0;
    border-bottom: 1px solid var(--ad-gray-100);
}
.ad-subcats__inner {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.ad-subcats__label {
    font-size: .82rem;
    font-weight: 600;
    color: var(--ad-gray-700);
    margin-right: 4px;
    white-space: nowrap;
}
.ad-subcat-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: var(--ad-white);
    border: 1.5px solid var(--ad-gray-200);
    border-radius: 24px;
    font-size: .84rem;
    font-weight: 500;
    color: var(--ad-gray-900);
    text-decoration: none;
    transition: border-color .2s, background .2s, box-shadow .2s;
    white-space: nowrap;
}
.ad-subcat-chip:hover {
    border-color: var(--ad-gray-900);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    color: var(--ad-gray-900);
    text-decoration: none;
}
.ad-subcat-chip--active {
    background: var(--ad-gray-900);
    color: var(--ad-white);
    border-color: var(--ad-gray-900);
}
.ad-subcat-chip--active:hover {
    background: var(--ad-gray-800, #363636);
    color: var(--ad-white);
}
.ad-subcat-chip img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}


/* ═══════════════════════════════════════════════════════════
   FILTER / SORT BAR
   ═══════════════════════════════════════════════════════════ */
.ad-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    gap: 16px;
    flex-wrap: wrap;
}
.ad-filter-bar__left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ad-filter-bar__right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ad-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: var(--ad-white);
    border: 1.5px solid var(--ad-gray-200);
    border-radius: 24px;
    font-size: .84rem;
    font-weight: 500;
    color: var(--ad-gray-900);
    cursor: pointer;
    transition: border-color .2s;
    white-space: nowrap;
    font-family: var(--ad-font);
}
.ad-filter-btn:hover {
    border-color: var(--ad-gray-900);
}
.ad-filter-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.ad-sort-select {
    appearance: none;
    padding: 9px 36px 9px 14px;
    background: var(--ad-white) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23222' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1.5px solid var(--ad-gray-200);
    border-radius: 24px;
    font-size: .84rem;
    font-weight: 500;
    color: var(--ad-gray-900);
    cursor: pointer;
    font-family: var(--ad-font);
    transition: border-color .2s;
}
.ad-sort-select:hover,
.ad-sort-select:focus {
    border-color: var(--ad-gray-900);
    outline: none;
}
.ad-result-count {
    font-size: .84rem;
    color: var(--ad-gray-500);
    white-space: nowrap;
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT GRID — Category Archive
   ═══════════════════════════════════════════════════════════ */
.ad-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 8px 0 48px;
}

/* Product card (reuses homepage pattern) */
.ad-pcard {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    padding: 6px;
    border-radius: var(--ad-hover-radius);
    height: 100%;
}
.ad-pcard__img {
    position: relative;
    aspect-ratio: 1;
    border-radius: var(--ad-radius);
    overflow: hidden;
    background: var(--ad-gray-100);
    margin-bottom: 10px;
}
.ad-pcard__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s var(--ad-ease);
}
.ad-pcard:hover .ad-pcard__img img {
    transform: scale(var(--ad-hover-scale));
}
.ad-pcard__wishlist {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    background: var(--ad-white);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transition: transform .2s;
    z-index: 2;
    color: var(--ad-gray-700);
}
.ad-pcard__wishlist:hover {
    transform: scale(1.1);
    color: var(--ad-teal, #0F4747);
}
.ad-pcard__wishlist svg {
    width: 18px;
    height: 18px;
}
.ad-pcard__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    z-index: 2;
    letter-spacing: .02em;
}
.ad-pcard__badge--sale {
    background: var(--ad-sale, #C1440E);
    color: var(--ad-white);
}
.ad-pcard__badge--best {
    background: var(--ad-gold);
    color: var(--ad-white);
}
.ad-pcard__badge--new {
    background: var(--ad-green);
    color: var(--ad-white);
}
.ad-pcard__info {
    padding: 0 2px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ad-pcard__shop {
    font-size: .78rem;
    color: var(--ad-gray-500);
    margin-bottom: 2px;
    display: block;
}
.ad-pcard__title {
    font-size: .85rem;
    font-weight: 400;
    color: var(--ad-gray-900);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 6px;
    flex: 1;
}
.ad-pcard:hover .ad-pcard__title {
    text-decoration: underline;
}
.ad-pcard__rating {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}
.ad-pcard__stars {
    color: var(--ad-gold);
    font-size: .75rem;
    letter-spacing: 1px;
}
.ad-pcard__rating-count {
    font-size: .75rem;
    color: var(--ad-gray-500);
}
.ad-pcard__price {
    font-size: .92rem;
    font-weight: 600;
    color: var(--ad-gray-900);
}
.ad-pcard__price del {
    color: var(--ad-gray-500);
    font-weight: 400;
    font-size: .8rem;
    margin-left: 6px;
}
.ad-pcard__price ins {
    text-decoration: none;
}
.ad-pcard__shipping {
    font-size: .75rem;
    color: var(--ad-teal);
    font-weight: 500;
    margin-top: 2px;
}


/* ═══════════════════════════════════════════════════════════
   PAGINATION (legacy — kept for any fallback usage)
   ═══════════════════════════════════════════════════════════ */
.ad-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 32px 0 48px;
}
.ad-pagination a,
.ad-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 24px;
    font-size: .88rem;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.ad-pagination a {
    color: var(--ad-gray-900);
    background: var(--ad-white);
    border: 1.5px solid var(--ad-gray-200);
}
.ad-pagination a:hover {
    border-color: var(--ad-gray-900);
}
.ad-pagination .current {
    background: var(--ad-gray-900);
    color: var(--ad-white);
    border: 1.5px solid var(--ad-gray-900);
}
.ad-pagination .dots {
    border: none;
    background: none;
    color: var(--ad-gray-500);
}

/* ═══════════════════════════════════════════════════════════
   INFINITE SCROLL — Sentinel, Spinner & Fade-in
   ═══════════════════════════════════════════════════════════ */
.ad-scroll-sentinel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 40px 0 56px;
    min-height: 80px;
    opacity: 0;
    transition: opacity .3s ease;
}
.ad-scroll-sentinel.ad-loading {
    opacity: 1;
}
.ad-scroll-sentinel.ad-end {
    opacity: 1;
}

/* Three-dot bounce spinner */
.ad-scroll-spinner {
    display: flex;
    gap: 6px;
    align-items: center;
}
.ad-scroll-spinner div {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ad-gold, #E3B90A);
    animation: ad-bounce .6s infinite alternate;
}
.ad-scroll-spinner div:nth-child(2) { animation-delay: .2s; }
.ad-scroll-spinner div:nth-child(3) { animation-delay: .4s; }

@keyframes ad-bounce {
    0%   { transform: translateY(0); opacity: .4; }
    100% { transform: translateY(-8px); opacity: 1; }
}

.ad-scroll-text {
    font-size: .85rem;
    color: var(--ad-gray-500, #7D7D7D);
    font-weight: 500;
}

.ad-scroll-end {
    font-size: .85rem;
    color: var(--ad-gray-500, #7D7D7D);
    font-weight: 500;
    padding: 8px 20px;
    border: 1.5px solid var(--ad-gray-200, #D4D4D4);
    border-radius: 24px;
}

.ad-scroll-error {
    font-size: .85rem;
    color: #B91C1C;
    font-weight: 500;
}

.ad-scroll-retry {
    background: var(--ad-gray-900, #222);
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 24px;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s;
}
.ad-scroll-retry:hover { opacity: .85; }

/* Loaded counter ("Showing 48 of 351 products") */
.ad-loaded-counter {
    text-align: center;
    font-size: .82rem;
    color: var(--ad-gray-500, #7D7D7D);
    padding: 0 0 40px;
}

/* Fade-in animation for newly loaded cards */
@keyframes ad-card-fadein {
    0%   { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}
.ad-pcard--lazy-new {
    animation: ad-card-fadein .4s ease forwards;
    opacity: 0;
}


/* ═══════════════════════════════════════════════════════════
   CATEGORY PROMO BANNER (mid-grid)
   ═══════════════════════════════════════════════════════════ */
.ad-promo-banner {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--ad-sand);
    border-radius: var(--ad-radius-lg);
    padding: 28px 36px;
    gap: 24px;
}
.ad-promo-banner__text h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ad-gray-900);
    margin-bottom: 4px;
}
.ad-promo-banner__text p {
    font-size: .86rem;
    color: var(--ad-gray-700);
}
.ad-promo-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 24px;
    font-size: .86rem;
    font-weight: 600;
    background: var(--ad-gray-900);
    color: var(--ad-white);
    border-radius: 24px;
    text-decoration: none;
    transition: background .2s;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}
.ad-promo-banner__cta:hover {
    background: var(--ad-gray-800, #363636);
    color: var(--ad-white);
}


/* ═══════════════════════════════════════════════════════════
   EMPTY STATE
   ═══════════════════════════════════════════════════════════ */
.ad-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 20px;
}
.ad-empty-state svg {
    width: 64px;
    height: 64px;
    color: var(--ad-gray-200);
    margin-bottom: 20px;
}
.ad-empty-state h3 {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--ad-gray-900);
    margin-bottom: 8px;
}
.ad-empty-state p {
    font-size: .9rem;
    color: var(--ad-gray-500);
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY PAGE — Hero
   ═══════════════════════════════════════════════════════════ */
.ad-reg-hero {
    background: linear-gradient(135deg, var(--ad-sand-light) 0%, var(--ad-sand) 100%);
    padding: 64px 0;
}
.ad-reg-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}
.ad-reg-hero__text {
    max-width: 520px;
}
.ad-reg-hero__eyebrow {
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--ad-gold);
    margin-bottom: 14px;
}
.ad-reg-hero__title {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 500;
    color: var(--ad-gray-900);
    letter-spacing: -.02em;
    line-height: 1.15;
    margin-bottom: 16px;
}
.ad-reg-hero__subtitle {
    font-size: 1rem;
    color: var(--ad-gray-700);
    line-height: 1.65;
    margin-bottom: 28px;
}
.ad-reg-hero__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.ad-reg-hero__images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.ad-reg-hero__img {
    border-radius: var(--ad-radius-lg);
    overflow: hidden;
    background: var(--ad-gray-100);
}
.ad-reg-hero__img:first-child {
    grid-row: 1 / 3;
    aspect-ratio: 3 / 4;
}
.ad-reg-hero__img:nth-child(2) {
    aspect-ratio: 4 / 3;
}
.ad-reg-hero__img:nth-child(3) {
    aspect-ratio: 4 / 3;
}
.ad-reg-hero__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY — Find a Registry Search
   ═══════════════════════════════════════════════════════════ */
.ad-reg-search {
    padding: 48px 0;
    text-align: center;
}
.ad-reg-search__title {
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--ad-gray-900);
    margin-bottom: 16px;
}
.ad-reg-search__form {
    display: flex;
    max-width: 560px;
    margin: 0 auto;
    border: 2px solid var(--ad-gray-200);
    border-radius: 28px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
    background: var(--ad-white);
}
.ad-reg-search__form:focus-within {
    border-color: var(--ad-gray-900);
    box-shadow: 0 0 0 1px var(--ad-gray-900);
}
.ad-reg-search__input {
    flex: 1;
    border: none;
    outline: none;
    padding: 14px 20px;
    font-size: .92rem;
    font-family: var(--ad-font);
    background: transparent;
    color: var(--ad-gray-900);
}
.ad-reg-search__input::placeholder {
    color: var(--ad-gray-500);
}
.ad-reg-search__btn {
    background: var(--ad-gold);
    border: none;
    padding: 14px 24px;
    cursor: pointer;
    font-size: .88rem;
    font-weight: 600;
    color: var(--ad-white);
    font-family: var(--ad-font);
    transition: background .2s;
    white-space: nowrap;
}
.ad-reg-search__btn:hover {
    background: var(--ad-gold-dark);
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY — Occasions Grid
   ═══════════════════════════════════════════════════════════ */
.ad-reg-occasions {
    padding: 48px 0;
    background: var(--ad-gray-50);
}
.ad-reg-occasions__title {
    font-size: clamp(1.3rem, 2.2vw, 1.6rem);
    font-weight: 500;
    color: var(--ad-gray-900);
    text-align: center;
    margin-bottom: 32px;
    letter-spacing: -.01em;
}
.ad-reg-occasions__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.ad-occasion-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: var(--ad-white);
    border-radius: var(--ad-hover-radius);
    overflow: hidden;
    border: 1px solid var(--ad-gray-100);
    padding: 6px;
    transition: box-shadow .3s var(--ad-ease), transform .3s var(--ad-ease);
}
/* Occasion card hover handled by global card hover system in style.css */
.ad-occasion-card__img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--ad-gray-100);
}
.ad-occasion-card__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s var(--ad-ease);
}
.ad-occasion-card:hover .ad-occasion-card__img img {
    transform: scale(var(--ad-hover-scale));
}
.ad-occasion-card__body {
    padding: 20px;
}
.ad-occasion-card__name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ad-gray-900);
    margin-bottom: 4px;
}
.ad-occasion-card__desc {
    font-size: .84rem;
    color: var(--ad-gray-500);
    line-height: 1.5;
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY — How It Works
   ═══════════════════════════════════════════════════════════ */
.ad-reg-steps {
    padding: 56px 0;
}
.ad-reg-steps__title {
    font-size: clamp(1.3rem, 2.2vw, 1.6rem);
    font-weight: 500;
    color: var(--ad-gray-900);
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: -.01em;
}
.ad-reg-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    text-align: center;
}
.ad-step {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ad-step__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--ad-sand);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: var(--ad-gold-dark);
}
.ad-step__icon svg {
    width: 32px;
    height: 32px;
}
.ad-step__num {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--ad-gold);
    margin-bottom: 8px;
}
.ad-step__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ad-gray-900);
    margin-bottom: 8px;
}
.ad-step__desc {
    font-size: .88rem;
    color: var(--ad-gray-700);
    line-height: 1.6;
    max-width: 280px;
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY — Benefits
   ═══════════════════════════════════════════════════════════ */
.ad-reg-benefits {
    padding: 48px 0;
    background: var(--ad-white);
    border-top: 1px solid var(--ad-gray-100);
}
.ad-reg-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    text-align: center;
}
.ad-benefit {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ad-benefit__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    color: var(--ad-teal);
}
.ad-benefit__icon svg {
    width: 28px;
    height: 28px;
}
.ad-benefit__title {
    font-size: .92rem;
    font-weight: 600;
    color: var(--ad-gray-900);
    margin-bottom: 6px;
}
.ad-benefit__desc {
    font-size: .84rem;
    color: var(--ad-gray-700);
    line-height: 1.55;
}


/* ═══════════════════════════════════════════════════════════
   REGISTRY — Bottom CTA
   ═══════════════════════════════════════════════════════════ */
.ad-reg-cta {
    background: var(--ad-gray-900);
    padding: 56px 0;
    text-align: center;
}
.ad-reg-cta__title {
    font-size: clamp(1.4rem, 2.6vw, 1.8rem);
    font-weight: 500;
    color: var(--ad-white);
    margin-bottom: 12px;
    letter-spacing: -.01em;
}
.ad-reg-cta__subtitle {
    font-size: .92rem;
    color: rgba(255,255,255,.65);
    margin-bottom: 28px;
}
.ad-reg-cta .ad-btn--gold {
    font-size: .95rem;
    padding: 15px 32px;
}


/* ═══════════════════════════════════════════════════════════
   SHARED BUTTONS (extend homepage btn patterns)
   ═══════════════════════════════════════════════════════════ */
.ad-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    font-size: .92rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 24px;
    transition: all .2s var(--ad-ease);
    cursor: pointer;
    border: 2px solid transparent;
    line-height: 1;
    font-family: var(--ad-font);
}
.ad-btn--dark { background: var(--ad-gray-900); color: var(--ad-white); border-color: var(--ad-gray-900); }
.ad-btn--dark:hover { background: var(--ad-gray-800, #363636); border-color: var(--ad-gray-800, #363636); color: var(--ad-white); text-decoration: none; }
.ad-btn--outline-dark { background: transparent; color: var(--ad-gray-900); border-color: var(--ad-gray-900); }
.ad-btn--outline-dark:hover { background: var(--ad-gray-900); color: var(--ad-white); text-decoration: none; }
.ad-btn--gold { background: var(--ad-gold); color: var(--ad-white); border-color: var(--ad-gold); }
.ad-btn--gold:hover { background: var(--ad-gold-dark); border-color: var(--ad-gold-dark); color: var(--ad-white); text-decoration: none; }
.ad-btn--white { background: var(--ad-white); color: var(--ad-gray-900); border-color: var(--ad-white); }
.ad-btn--white:hover { background: var(--ad-gray-50); border-color: var(--ad-gray-50); color: var(--ad-gray-900); text-decoration: none; }


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — Category Archive + Registry
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .ad-archive-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .ad-reg-hero__inner { grid-template-columns: 1fr; }
    .ad-reg-hero__images { max-width: 500px; margin: 0 auto; }
    .ad-reg-occasions__grid { grid-template-columns: repeat(2, 1fr); }
    .ad-reg-benefits__grid { grid-template-columns: repeat(2, 1fr); }
    .ad-page-wrap { padding: 0 24px; }
}

@media (max-width: 768px) {
    .ad-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .ad-cat-hero { padding: 28px 0 24px; }
    .ad-cat-hero__title { font-size: 1.5rem; }
    .ad-filter-bar { flex-direction: column; align-items: stretch; }
    .ad-filter-bar__left { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .ad-filter-bar__right { justify-content: space-between; }
    .ad-subcats__inner { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
    .ad-subcats__inner::-webkit-scrollbar { display: none; }
    .ad-promo-banner { flex-direction: column; text-align: center; padding: 24px 20px; }
    .ad-reg-hero { padding: 40px 0; }
    .ad-reg-hero__title { font-size: 1.6rem; }
    .ad-reg-hero__actions { justify-content: center; }
    .ad-reg-steps__grid { grid-template-columns: 1fr; gap: 32px; }
    .ad-reg-occasions__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .ad-reg-benefits__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .ad-pagination a, .ad-pagination span { min-width: 36px; height: 36px; font-size: .82rem; }
}

@media (max-width: 480px) {
    .ad-archive-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ad-page-wrap { padding: 0 16px; }
    .ad-cat-hero__inner { flex-direction: column; text-align: center; }
    .ad-reg-hero__images { grid-template-columns: 1fr; }
    .ad-reg-hero__img:first-child { grid-row: auto; aspect-ratio: 16 / 9; }
    .ad-reg-occasions__grid { grid-template-columns: 1fr; }
    .ad-reg-benefits__grid { grid-template-columns: 1fr; }
    .ad-reg-steps__grid { gap: 28px; }
    .ad-promo-banner { padding: 20px 16px; }
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE UX — Etsy-inspired Enhancements
   ═══════════════════════════════════════════════════════════ */

/* ── Trust Bar ── */
.ad-trust-bar {
    background: var(--ad-gray-50, #F5F5F5);
    border-bottom: 1px solid var(--ad-gray-100, #EBEBEB);
    padding: 10px 0;
}
.ad-trust-bar__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
.ad-trust-bar__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    color: var(--ad-gray-700, #595959);
    white-space: nowrap;
}
.ad-trust-bar__item svg {
    width: 16px; height: 16px;
    flex-shrink: 0;
    color: var(--ad-gray-700, #595959);
}
.ad-trust-bar__item strong {
    font-weight: 600;
    color: var(--ad-gray-900, #222);
}

/* ── "What to Know" Cards — Etsy-style summary row ── */
.ad-what-to-know {
    display: flex;
    gap: 12px;
    margin: 20px 0 8px;
    padding-top: 16px;
    border-top: 1px solid var(--ad-gray-100, #EBEBEB);
}
.ad-what-to-know__card {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 14px 16px;
    border: 1px solid var(--ad-gray-100, #EBEBEB);
    border-radius: 10px;
    font-size: .82rem;
    color: var(--ad-gray-500, #7D7D7D);
}
.ad-what-to-know__card strong {
    font-size: .92rem;
    color: var(--ad-gray-900, #222);
}
.ad-what-to-know__icon {
    font-size: 1.1rem;
    color: var(--ad-gold, #E3B90A);
}
.ad-what-to-know__card a {
    font-size: .78rem;
    color: var(--ad-gray-700, #595959);
    text-decoration: underline;
}

/* ── Returns & Shipping Trust Signal ── */
.ad-returns-info {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 4px;
    font-size: .82rem;
    color: var(--ad-green, #40864C);
}
.ad-returns-info svg {
    flex-shrink: 0;
}

/* ── Hide WooCommerce default product meta (SKU/Cat/Tags) ── */
.product_meta {
    display: none !important;
}

/* ── Responsive ── */
/* ── Hover Image Swap on Product Cards ── */
.ad-pcard__img { position: relative; overflow: hidden; }
.ad-pcard__img-swap {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .35s var(--ad-ease, ease);
}
.ad-pcard--has-swap:hover .ad-pcard__img-primary { opacity: 0; transition: opacity .35s var(--ad-ease, ease); }
.ad-pcard--has-swap:hover .ad-pcard__img-swap { opacity: 1; }

/* ── Low Stock Urgency Badge ── */
.ad-pcard__badge--low {
    background: var(--ad-urgency, #C1440E) !important;
    color: #fff;
    font-size: .7rem;
    font-weight: 600;
    bottom: 8px; left: 8px; top: auto !important;
    position: absolute;
    padding: 3px 8px;
    border-radius: 4px;
}
.ad-pcard__urgency {
    font-size: .76rem;
    color: var(--ad-urgency, #C1440E);
    font-weight: 600;
}

/* ── Sale Badge Refinement ── */
.ad-pcard__badge--sale {
    background: var(--ad-sale, #C1440E) !important;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    border-radius: 4px;
    padding: 3px 8px;
}

/* ── Price Strikethrough Styling ── */
.ad-pcard__price del {
    color: var(--ad-gray-500, #7D7D7D);
    font-weight: 400;
    font-size: .85em;
    text-decoration: line-through;
}
.ad-pcard__price ins {
    text-decoration: none;
    color: var(--ad-green, #40864C);
    font-weight: 700;
}

/* ── Sticky Add-to-Cart Bar ── */
.ad-sticky-cart {
    position: fixed;
    bottom: 0;
    left: 0; right: 0;
    background: var(--ad-white, #fff);
    border-top: 1px solid var(--ad-gray-200, #D4D4D4);
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
    z-index: 9990;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.25,.46,.45,.94);
    padding: 10px 0;
}
.ad-sticky-cart.ad-visible {
    transform: translateY(0);
}
.ad-sticky-cart__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 36px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.ad-sticky-cart__img {
    width: 44px; height: 44px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}
.ad-sticky-cart__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.ad-sticky-cart__title {
    font-size: .85rem;
    font-weight: 600;
    color: var(--ad-gray-900, #222);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ad-sticky-cart__price {
    font-size: .82rem;
    color: var(--ad-gray-700, #595959);
    font-weight: 500;
}
.ad-sticky-cart__btn {
    background: var(--ad-gray-900, #222);
    color: #fff;
    border: none;
    border-radius: 24px;
    padding: 11px 28px;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .2s;
}
.ad-sticky-cart__btn:hover { background: #000; }

/* ── Related Searches Pills ── */
.ad-related-searches {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 36px 32px;
    border-top: 1px solid var(--ad-gray-100, #EBEBEB);
}
.ad-related-searches__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ad-gray-900, #222);
    margin-bottom: 14px;
}
.ad-related-searches__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ad-related-searches__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--ad-gray-200, #D4D4D4);
    border-radius: 20px;
    font-size: .82rem;
    color: var(--ad-gray-900, #222);
    text-decoration: none;
    transition: border-color .15s, background .15s;
    background: var(--ad-white, #fff);
}
.ad-related-searches__pill:hover {
    border-color: var(--ad-gray-900, #222);
    background: var(--ad-gray-50, #F5F5F5);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .ad-trust-bar__inner { gap: 16px; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding: 0 16px; }
    .ad-trust-bar__inner::-webkit-scrollbar { display: none; }
    .ad-what-to-know { flex-direction: column; }
    .ad-sticky-cart__inner { padding: 0 16px; gap: 10px; }
    .ad-sticky-cart__img { width: 36px; height: 36px; }
    .ad-sticky-cart__btn { padding: 10px 20px; font-size: .82rem; }
    .ad-related-searches { padding: 20px 16px 24px; }
    .ad-related-searches__pills { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
    .ad-related-searches__pills::-webkit-scrollbar { display: none; }
    .ad-related-searches__pill { flex-shrink: 0; }
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT DETAIL PAGE — Etsy-style Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Seller Line (below title) ── */
.ad-seller-line {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px;
    font-size: .85rem;
}
.ad-seller-line__name {
    font-weight: 600;
    color: var(--ad-gray-900, #222);
}
.ad-seller-line__badge { flex-shrink: 0; }
.ad-seller-line__stars {
    color: var(--ad-gold, #E3B90A);
    font-size: .9rem;
    letter-spacing: -1px;
}
.ad-seller-line__count {
    color: var(--ad-gray-700, #595959);
    text-decoration: underline;
    font-size: .82rem;
}

/* ── Wishlist Heart on Product Image ── */
.woocommerce-product-gallery { position: relative; }
.ad-pdp-wishlist {
    position: absolute;
    top: 12px; right: 12px;
    z-index: 10;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transition: transform .15s, background .15s;
}
.ad-pdp-wishlist:hover {
    transform: scale(1.1);
    background: #fff;
}
.ad-pdp-wishlist svg {
    width: 20px; height: 20px;
    color: var(--ad-gray-700, #595959);
}
.ad-pdp-wishlist:hover svg { color: var(--ad-teal, #0F4747); }

/* ── Dark Add to Cart Button (Etsy pattern) ── */
.single_add_to_cart_button,
.single_add_to_cart_button.button {
    background: var(--ad-gray-900, #222) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 24px !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    padding: 14px 32px !important;
    transition: background .2s !important;
    letter-spacing: .01em;
}
.single_add_to_cart_button:hover {
    background: #000 !important;
}

/* ── Seller Trust Badge (like Etsy's Star Seller) ── */
.ad-seller-trust {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    background: var(--ad-gray-50, #F5F5F5);
    border-radius: 10px;
    font-size: .82rem;
    color: var(--ad-gray-700, #595959);
    margin: 16px 0 4px;
    line-height: 1.5;
}
.ad-seller-trust svg { flex-shrink: 0; margin-top: 1px; }
.ad-seller-trust strong {
    color: var(--ad-gray-900, #222);
    font-weight: 700;
}

/* ── Delivery & Return Policies (collapsible) ── */
.ad-delivery-details {
    border-top: 1px solid var(--ad-gray-100, #EBEBEB);
    margin-top: 12px;
    padding-top: 0;
}
.ad-delivery-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    font-size: .9rem;
    font-weight: 600;
    color: var(--ad-gray-900, #222);
    cursor: pointer;
    list-style: none;
}
.ad-delivery-details summary::-webkit-details-marker { display: none; }
.ad-delivery-details summary::after {
    content: '▾';
    font-size: .8rem;
    color: var(--ad-gray-500, #7D7D7D);
    transition: transform .2s;
}
.ad-delivery-details[open] summary::after {
    transform: rotate(180deg);
}
.ad-delivery-details ul {
    list-style: disc;
    padding: 0 0 14px 20px;
    font-size: .84rem;
    color: var(--ad-gray-700, #595959);
    line-height: 1.8;
}
.ad-delivery-details ul strong {
    color: var(--ad-gray-900, #222);
}

/* ── Vertical Thumbnail Gallery (Etsy-style) ── */
.ad-gallery-etsy {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    position: relative;
}
.ad-gallery-etsy .flex-viewport,
.ad-gallery-etsy .woocommerce-product-gallery__wrapper {
    flex: 1;
    min-width: 0;
    order: 2;
}
.ad-gallery-etsy .flex-control-thumbs { display: none !important; } /* hide default horizontal thumbs */
.ad-thumb-strip {
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 64px;
    flex-shrink: 0;
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: none;
}
.ad-thumb-strip::-webkit-scrollbar { display: none; }
.ad-thumb-strip__item {
    width: 60px; height: 60px;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    flex-shrink: 0;
    transition: border-color .15s;
}
.ad-thumb-strip__item.ad-active {
    border-color: var(--ad-gray-900, #222);
}
.ad-thumb-strip__item:hover {
    border-color: var(--ad-gray-500, #7D7D7D);
}
.ad-thumb-strip__item img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.ad-thumb-strip__nav {
    display: none; /* show via JS if scrollable */
    width: 64px;
    background: var(--ad-white, #fff);
    border: 1px solid var(--ad-gray-200, #D4D4D4);
    border-radius: 50%;
    width: 28px; height: 28px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0 auto 4px;
    flex-shrink: 0;
}
.ad-thumb-strip__nav svg { width: 14px; height: 14px; }

/* ── Product Image Container — Rounded Border ── */
.woocommerce-product-gallery,
.woocommerce-product-gallery .ct-media-container,
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    border-radius: 14px !important;
    overflow: hidden !important;
}
.woocommerce-product-gallery .ct-media-container img,
.woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce-product-gallery .wp-post-image {
    border-radius: 14px !important;
}

/* ── Description Collapse ── */
.ad-desc-collapsed {
    max-height: 160px;
    overflow: hidden;
    position: relative;
}
.ad-desc-collapsed::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 50px;
    background: linear-gradient(transparent, #fff);
    pointer-events: none;
}
.ad-show-desc-btn {
    display: block;
    margin: 10px auto 20px;
    padding: 8px 22px;
    border: 1px solid var(--ad-gray-900, #222);
    border-radius: 20px;
    background: none;
    font-size: .84rem;
    font-weight: 600;
    color: var(--ad-gray-900, #222);
    cursor: pointer;
    transition: background .15s;
    text-align: center;
}
.ad-show-desc-btn:hover {
    background: var(--ad-gray-50, #F5F5F5);
}

/* ── Responsive — Product Detail ── */
@media (max-width: 768px) {
    .ad-gallery-etsy { flex-direction: column !important; }
    .ad-thumb-strip {
        flex-direction: row;
        width: 100%;
        max-height: none;
        overflow-x: auto;
        order: 2;
    }
    .ad-thumb-strip__item { width: 48px; height: 48px; }
    .ad-pdp-wishlist { width: 36px; height: 36px; }
    .ad-pdp-wishlist svg { width: 18px; height: 18px; }
    .ad-seller-trust { font-size: .78rem; }
}


/* ═══════════════════════════════════════════════════════════
   ABOUT US PAGE — Storytelling + Mascot
   ═══════════════════════════════════════════════════════════ */
.ad-about { font-family: var(--ad-font); color: var(--ad-gray-900, #222); }
.ad-gold { color: var(--ad-gold, #E3B90A); }

/* Scroll-reveal shared */
.ad-sr-line {
    transition: color .6s cubic-bezier(.25,.46,.45,.94), opacity .6s cubic-bezier(.25,.46,.45,.94), transform .6s cubic-bezier(.25,.46,.45,.94);
}
.ad-sr-break { height: 28px; }

/* Section 1: Story */
.ad-about__story { min-height: 70vh; display: flex; align-items: center; justify-content: center; padding: 80px 36px; background: var(--ad-sand-light, #FAF7F2); }
.ad-about__story-inner { max-width: 680px; }
.ad-about__story .ad-sr-line { font-size: clamp(1.3rem, 3vw, 1.8rem); line-height: 1.5; color: var(--ad-gray-200, #D4D4D4); margin: 0; }
.ad-about__story .ad-sr-line.ad-revealed { color: var(--ad-gray-900, #222); }
.ad-about__story .ad-sr-line em { font-style: italic; }
.ad-about__story .ad-sr-line strong { font-weight: 700; color: var(--ad-gray-200, #D4D4D4); transition: color .6s cubic-bezier(.25,.46,.45,.94); }
.ad-about__story .ad-sr-line.ad-revealed strong { color: var(--ad-gold, #E3B90A); }

/* Section 2: Mascot */
.ad-about__mascot-intro { display: flex; align-items: center; gap: 48px; max-width: 1000px; margin: 0 auto; padding: 80px 36px; }
.ad-about__mascot-wrap--hero { flex-shrink: 0; }
.ad-mascot { width: 180px; height: auto; flex-shrink: 0; animation: ad-mascot-bob 3s ease-in-out infinite; }
.ad-mascot--small { width: 100px; }
.ad-mascot-img--hero {
    width: 340px;
    height: auto;
    border-radius: var(--ad-radius-lg, 16px);
    animation: ad-mascot-bob 3s ease-in-out infinite;
    filter: drop-shadow(0 8px 24px rgba(0,0,0,.12));
}
.ad-mascot-img--cta {
    width: 140px;
    height: auto;
    border-radius: 50%;
    animation: ad-mascot-bob 3s ease-in-out infinite;
    margin-bottom: 16px;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.10));
}
.ad-mascot-placeholder { flex-shrink: 0; }
@keyframes ad-mascot-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.ad-about__mascot-text h2 { font-size: 1.8rem; font-weight: 800; margin: 0 0 12px; }
.ad-about__mascot-text p { font-size: 1.05rem; line-height: 1.7; color: var(--ad-gray-700, #595959); }

/* Founder avatar with uploaded image */
.ad-founder-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Section 3: Steps */
.ad-about__how { background: var(--ad-white, #fff); padding: 72px 36px; text-align: center; }
.ad-about__section-title { font-size: 1.6rem; font-weight: 800; margin: 0 0 40px; color: var(--ad-gray-200, #D4D4D4); }
.ad-about__section-title.ad-revealed { color: var(--ad-gray-900, #222); }
.ad-about__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1000px; margin: 0 auto; }
.ad-about__step { text-align: center; opacity: 0; transform: translateY(16px); }
.ad-about__step.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-about__step-num { width: 48px; height: 48px; border-radius: 50%; background: var(--ad-sand, #F5EDDF); color: var(--ad-gold-dark, #C9A008); font-size: 1.2rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.ad-about__step h3 { font-size: 1.1rem; font-weight: 700; margin: 0 0 8px; }
.ad-about__step p { font-size: .92rem; line-height: 1.6; color: var(--ad-gray-700, #595959); }

/* Section 4: Values */
.ad-about__values { background: var(--ad-sand-light, #FAF7F2); padding: 72px 36px; text-align: center; }
.ad-about__values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; max-width: 1100px; margin: 0 auto; }
.ad-about__value { background: var(--ad-white, #fff); border-radius: 14px; padding: 28px 20px; text-align: center; opacity: 0; transform: translateY(16px); }
.ad-about__value.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-about__value svg { width: 28px; height: 28px; color: var(--ad-gold, #E3B90A); margin-bottom: 12px; }
.ad-about__value h3 { font-size: .95rem; font-weight: 700; margin: 0 0 8px; }
.ad-about__value p { font-size: .84rem; line-height: 1.6; color: var(--ad-gray-700, #595959); }

/* Section 5: Founders */
.ad-about__founders { max-width: 900px; margin: 0 auto; padding: 72px 36px; }
.ad-about__founder { display: flex; gap: 32px; align-items: center; margin-bottom: 48px; opacity: 0; transform: translateY(16px); }
.ad-about__founder.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-about__founder--alt { flex-direction: row-reverse; }
.ad-about__founder-avatar svg { width: 72px; height: 72px; flex-shrink: 0; }
.ad-about__founder-avatar--illustrated { flex-shrink: 0; width: 160px; height: 160px; }
.ad-about__founder-avatar--illustrated .ad-founder-img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,.10));
    transition: transform .3s ease;
}
.ad-about__founder:hover .ad-about__founder-avatar--illustrated .ad-founder-img {
    transform: scale(1.05);
}
.ad-about__founder blockquote { margin: 0; border: none; padding: 0; }
.ad-about__founder blockquote p { font-size: .95rem; line-height: 1.7; color: var(--ad-gray-700, #595959); font-style: italic; margin: 0 0 10px; }
.ad-about__founder cite { font-style: normal; font-weight: 700; font-size: .88rem; color: var(--ad-gray-900, #222); }
.ad-about__founder cite span { font-weight: 400; color: var(--ad-gray-500, #7D7D7D); }

/* Team Grid */
.ad-about__team-subtitle {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--ad-gray-900, #222);
    margin: 16px 0 32px;
    letter-spacing: .02em;
    opacity: 0; transform: translateY(12px);
}
.ad-about__team-subtitle.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-about__team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    max-width: 820px;
    margin: 0 auto;
}
.ad-about__team-member {
    text-align: center;
    opacity: 0; transform: translateY(16px);
}
.ad-about__team-member.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-about__team-avatar {
    width: 140px;
    height: 140px;
    margin: 0 auto 16px;
}
.ad-about__team-avatar .ad-founder-img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,.10));
    transition: transform .3s ease;
}
.ad-about__team-member:hover .ad-founder-img { transform: scale(1.06); }
.ad-about__team-name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ad-gray-900, #222);
    margin: 0 0 4px;
}
.ad-about__team-role {
    display: inline-block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--ad-teal, #0F4747);
    background: rgba(44,110,99,.08);
    padding: 3px 12px;
    border-radius: 12px;
    margin-bottom: 10px;
}
.ad-about__team-bio {
    font-size: .84rem;
    line-height: 1.6;
    color: var(--ad-gray-600, #6B6B6B);
    margin: 0;
}

/* Section 6: Impact */
.ad-about__impact { background: var(--ad-gray-900, #222); padding: 56px 36px; }
.ad-about__impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 900px; margin: 0 auto; text-align: center; }
.ad-about__stat { opacity: 0; transform: translateY(12px); }
.ad-about__stat.ad-revealed { opacity: 1; transform: translateY(0); color: rgba(255,255,255,.7); }
.ad-about__stat-num { display: block; font-size: 2.2rem; font-weight: 800; color: var(--ad-gold, #E3B90A); margin-bottom: 4px; }

/* Section 7: CTA */
.ad-about__cta { text-align: center; padding: 72px 36px 80px; background: var(--ad-sand-light, #FAF7F2); }
.ad-about__cta h2 { font-size: 1.5rem; font-weight: 800; margin: 20px 0 10px; }
.ad-about__cta p { font-size: 1rem; color: var(--ad-gray-700, #595959); margin: 0 0 24px; }
.ad-about__cta-btn { display: inline-block; background: var(--ad-gray-900, #222); color: #fff; padding: 14px 36px; border-radius: 28px; font-size: .95rem; font-weight: 600; text-decoration: none; transition: background .2s; }
.ad-about__cta-btn:hover { background: #000; color: #fff; }

/* Responsive */
@media (max-width: 768px) {
    .ad-about__story { padding: 50px 20px; min-height: 50vh; }
    .ad-about__mascot-intro { flex-direction: column; text-align: center; padding: 50px 20px; gap: 24px; }
    .ad-mascot { width: 120px; }
    .ad-mascot-img--hero { width: 220px; }
    .ad-mascot-img--cta { width: 100px; }
    .ad-about__steps { grid-template-columns: 1fr; gap: 28px; }
    .ad-about__values-grid { grid-template-columns: 1fr 1fr; }
    .ad-about__impact-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .ad-about__founder, .ad-about__founder--alt { flex-direction: column; align-items: center; text-align: center; }
    .ad-about__founders { padding: 50px 20px; }
    .ad-about__team-grid { grid-template-columns: 1fr; gap: 32px; max-width: 320px; }
    .ad-about__team-avatar { width: 120px; height: 120px; }
    .ad-about__team-avatar .ad-founder-img { width: 120px; height: 120px; }
    .ad-about__cta { padding: 50px 20px 60px; }
}


/* ═══════════════════════════════════════════════════════════
   RELATED PRODUCTS — Aligned Card Grid
   Fixes WooCommerce default related products on PDP
   ═══════════════════════════════════════════════════════════ */

/* Section spacing */
section.related.products {
    padding: 40px 0 60px;
}
section.related.products > h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ad-gray-900, #222);
    margin-bottom: 24px;
}

/* Grid layout */
section.related.products ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Each card — flex column, equal height */
section.related.products ul.products li.product {
    display: flex;
    flex-direction: column;
    background: var(--ad-white, #fff);
    border-radius: var(--ad-radius, 12px);
    overflow: hidden;
    padding: 0;
    margin: 0;
    border: none;
    box-shadow: none;
    text-align: left;
    position: relative;
}

/* Image */
section.related.products li.product figure,
section.related.products li.product .attachment-woocommerce_thumbnail,
section.related.products li.product > a {
    display: block;
}
section.related.products li.product figure {
    margin: 0;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--ad-radius, 12px);
    background: var(--ad-gray-100, #EBEBEB);
}
section.related.products li.product figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s cubic-bezier(.25,.46,.45,.94);
}
section.related.products li.product:hover figure img {
    transform: scale(1.04);
}

/* Title */
section.related.products li.product .woocommerce-loop-product__title {
    font-size: .85rem;
    font-weight: 400;
    color: var(--ad-gray-900, #222);
    line-height: 1.35;
    margin: 10px 0 6px;
    padding: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
section.related.products li.product:hover .woocommerce-loop-product__title {
    text-decoration: underline;
}

/* Price */
section.related.products li.product .price {
    font-size: .92rem;
    font-weight: 600;
    color: var(--ad-gray-900, #222);
    margin: 0 0 4px;
}
section.related.products li.product .price del {
    color: var(--ad-gray-500, #7D7D7D);
    font-weight: 400;
    font-size: .8rem;
    margin-left: 6px;
}
section.related.products li.product .price ins {
    text-decoration: none;
}

/* Hide category meta links */
section.related.products li.product ul.entry-meta {
    display: none;
}

/* Add to cart button — push to bottom, subtle outline style */
section.related.products li.product .ct-woo-card-actions {
    margin-top: auto;
    padding-top: 10px;
}
section.related.products li.product .ct-woo-card-actions .button,
section.related.products li.product .ct-woo-card-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 16px;
    font-size: .82rem;
    font-weight: 600;
    border-radius: 24px;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    background: transparent;
    color: var(--ad-gray-900, #222);
    border: 1.5px solid var(--ad-gray-200, #D4D4D4);
    box-sizing: border-box;
}
section.related.products li.product .ct-woo-card-actions .button:hover,
section.related.products li.product .ct-woo-card-actions a:hover {
    background: var(--ad-gray-900, #222);
    color: var(--ad-white, #fff);
    border-color: var(--ad-gray-900, #222);
}

/* Sale badge */
section.related.products li.product .onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-size: .7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    background: #E60023;
    color: var(--ad-white, #fff);
    text-transform: uppercase;
    letter-spacing: .03em;
    line-height: 1;
}

/* Responsive */
@media (max-width: 1024px) {
    section.related.products ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    section.related.products ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
    section.related.products ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    section.related.products li.product .woocommerce-loop-product__title { font-size: .8rem; }
    section.related.products li.product .price { font-size: .85rem; }
}


/* ═══════════════════════════════════════════════════════════
   ARTISANS — Archive & Single Pages
   ═══════════════════════════════════════════════════════════ */

/* ── Filter Bar ── */
.ad-artisans__filters {
    padding: 32px 36px 0;
    text-align: center;
}
.ad-artisans__filter-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 800px;
    margin: 0 auto;
}
.ad-artisans__filter-pill {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 24px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--ad-gray-700, #595959);
    background: var(--ad-sand-light, #FAF7F2);
    border: 1.5px solid var(--ad-gray-200, #E5E5E5);
    transition: all .2s ease;
}
.ad-artisans__filter-pill:hover {
    color: var(--ad-gray-900, #222);
    border-color: var(--ad-gold, #E3B90A);
    background: #fff;
}
.ad-artisans__filter-pill--active {
    background: var(--ad-gray-900, #222);
    color: #fff;
    border-color: var(--ad-gray-900, #222);
}
.ad-artisans__filter-pill--active:hover {
    background: #000;
    color: #fff;
}

/* ── Grid ── */
.ad-artisans__grid-wrap {
    padding: 48px 36px 64px;
    max-width: 1200px;
    margin: 0 auto;
}
.ad-artisans__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.ad-artisans__grid--compact {
    max-width: 960px;
    margin: 0 auto;
}

/* ── Card ── */
.ad-artisan-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: var(--ad-radius-lg, 16px);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: transform .25s ease, box-shadow .25s ease;
    opacity: 0;
    transform: translateY(16px);
}
.ad-artisan-card.ad-revealed {
    opacity: 1;
    transform: translateY(0);
}
.ad-artisan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.10);
}
.ad-artisan-card__img-wrap {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--ad-sand-light, #FAF7F2);
}
.ad-artisan-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.ad-artisan-card:hover .ad-artisan-card__img {
    transform: scale(1.04);
}
.ad-artisan-card__img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--ad-sand-light, #FAF7F2);
    color: var(--ad-gray-400, #AAA);
}
.ad-artisan-card__badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(34,34,34,.85);
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 14px;
    backdrop-filter: blur(4px);
    letter-spacing: .02em;
}
.ad-artisan-card__body {
    padding: 18px 20px 22px;
}
.ad-artisan-card__name {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ad-gray-900, #222);
    margin: 0 0 6px;
}
.ad-artisan-card__location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .8rem;
    color: var(--ad-gray-500, #7D7D7D);
    margin-bottom: 4px;
}
.ad-artisan-card__years {
    display: block;
    font-size: .78rem;
    color: var(--ad-teal, #0F4747);
    font-weight: 600;
    margin-bottom: 8px;
}
.ad-artisan-card__quote {
    font-size: .84rem;
    line-height: 1.55;
    color: var(--ad-gray-600, #6B6B6B);
    font-style: italic;
    margin: 0;
}

/* ── Pagination ── */
.ad-artisans__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}
.ad-artisans__pagination a,
.ad-artisans__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--ad-gray-700, #595959);
    background: var(--ad-sand-light, #FAF7F2);
    transition: all .15s ease;
}
.ad-artisans__pagination a:hover { background: var(--ad-gray-900, #222); color: #fff; }
.ad-artisans__pagination .current { background: var(--ad-gray-900, #222); color: #fff; }

/* ── Empty State ── */
.ad-artisans__empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--ad-gray-500, #7D7D7D);
}
.ad-artisans__empty h3 {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--ad-gray-900, #222);
    margin: 20px 0 10px;
}
.ad-artisans__empty p {
    max-width: 480px;
    margin: 0 auto 24px;
    line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════
   ARTISAN — Single Page
   ═══════════════════════════════════════════════════════════ */

.ad-artisan-single__hero {
    position: relative;
    max-height: 520px;
    overflow: hidden;
    background: var(--ad-gray-900, #222);
}
.ad-artisan-single__photo {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
    opacity: .85;
}
.ad-artisan-single__hero-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 48px 40px;
    background: linear-gradient(transparent, rgba(0,0,0,.7));
    color: #fff;
}
.ad-artisan-single__name {
    font-size: 2.2rem;
    font-weight: 800;
    margin: 0 0 12px;
    text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.ad-artisan-single__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}
.ad-artisan-single__tag {
    background: var(--ad-gold, #E3B90A);
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 14px;
}
.ad-artisan-single__location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .88rem;
    color: rgba(255,255,255,.85);
}
.ad-artisan-single__years {
    font-size: .85rem;
    color: rgba(255,255,255,.75);
    font-weight: 600;
}

/* ── Quote ── */
.ad-artisan-single__quote {
    max-width: 760px;
    margin: 0 auto;
    padding: 56px 36px 40px;
    text-align: center;
    opacity: 0; transform: translateY(16px);
}
.ad-artisan-single__quote.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-artisan-single__quote blockquote {
    margin: 0;
    border: none;
    padding: 0;
}
.ad-artisan-single__quote blockquote p {
    font-size: 1.25rem;
    line-height: 1.7;
    font-style: italic;
    color: var(--ad-gray-700, #595959);
    margin: 0 0 12px;
}
.ad-artisan-single__quote cite {
    font-style: normal;
    font-weight: 700;
    font-size: .9rem;
    color: var(--ad-gold, #E3B90A);
}

/* ── Story ── */
.ad-artisan-single__story {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 36px 48px;
    opacity: 0; transform: translateY(16px);
}
.ad-artisan-single__story.ad-revealed { opacity: 1; transform: translateY(0); }
.ad-artisan-single__story h2 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--ad-gray-900, #222);
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ad-gold, #E3B90A);
    display: inline-block;
}
.ad-artisan-single__content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--ad-gray-700, #595959);
}
.ad-artisan-single__content p { margin: 0 0 18px; }
.ad-artisan-single__content img { border-radius: var(--ad-radius-lg, 16px); margin: 16px 0; }

/* ── Products Link ── */
.ad-artisan-single__products {
    text-align: center;
    padding: 0 36px 56px;
    opacity: 0; transform: translateY(12px);
}
.ad-artisan-single__products.ad-revealed { opacity: 1; transform: translateY(0); }

/* ── Related Artisans ── */
.ad-artisans__related {
    background: var(--ad-sand-light, #FAF7F2);
    padding: 56px 36px 64px;
    max-width: 100%;
}
.ad-artisans__related .ad-about__section-title {
    text-align: center;
    margin-bottom: 32px;
}

/* ── Back Link ── */
.ad-artisan-single__back {
    text-align: center;
    padding: 32px 36px 48px;
}
.ad-artisan-single__back a {
    font-size: .9rem;
    font-weight: 600;
    color: var(--ad-gray-600, #6B6B6B);
    text-decoration: none;
    transition: color .15s;
}
.ad-artisan-single__back a:hover { color: var(--ad-gray-900, #222); }

/* ── Artisan Responsive ── */
@media (max-width: 768px) {
    .ad-artisans__grid { grid-template-columns: 1fr 1fr; gap: 20px; }
    .ad-artisans__grid-wrap { padding: 32px 20px 48px; }
    .ad-artisan-single__hero { max-height: 380px; }
    .ad-artisan-single__photo { height: 380px; }
    .ad-artisan-single__hero-overlay { padding: 40px 24px 28px; }
    .ad-artisan-single__name { font-size: 1.6rem; }
    .ad-artisan-single__quote { padding: 36px 20px 24px; }
    .ad-artisan-single__quote blockquote p { font-size: 1.05rem; }
    .ad-artisan-single__story { padding: 0 20px 36px; }
}
@media (max-width: 480px) {
    .ad-artisans__grid { grid-template-columns: 1fr; gap: 24px; max-width: 380px; margin: 0 auto; }
    .ad-artisan-single__name { font-size: 1.3rem; }
    .ad-artisan-single__meta-row { gap: 8px; }
}
