/* Talisman — String Doll collection layer (on top of the V5 base) */
.talisman-dolls{--td-bg:#f5f0e8;--td-paper:#fbf8f3;--td-ink:#1f1b17;--td-muted:#6b625a;--td-line:rgba(31,27,23,.14);--td-accent:#b3261e;background:var(--td-bg);color:var(--td-ink)}
.talisman-dolls .v5-header{background:rgba(245,240,232,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--td-line)}
.td-nav{display:flex;gap:28px;margin-left:auto;margin-right:28px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.td-nav a{color:var(--td-ink);text-decoration:none}.td-nav a:hover{color:var(--td-accent)}
.td-header-locale{display:flex;align-items:center}
.td-header-locale .locale-dropdown,
.td-menu-locale .locale-dropdown{position:relative}
.td-header-locale .locale-toggle,
.td-menu-locale .locale-toggle{background:none;border:1px solid var(--td-line);border-radius:999px;padding:6px 12px;font-size:12px;letter-spacing:.06em;cursor:pointer;color:var(--td-ink)}
.td-header-locale .locale-menu,
.td-menu-locale .locale-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--td-paper);border:1px solid var(--td-line);border-radius:12px;padding:10px;min-width:200px;box-shadow:0 12px 30px rgba(0,0,0,.08);z-index:50}
.td-header-locale .locale-dropdown.is-open .locale-menu,
.td-menu-locale .locale-dropdown.is-open .locale-menu,.td-header-locale .locale-toggle[aria-expanded="true"]+.locale-menu,.td-menu-locale .locale-toggle[aria-expanded="true"]+.locale-menu{display:block}
.td-header-locale .locale-option,
.td-menu-locale .locale-option{display:flex;justify-content:space-between;gap:16px;padding:7px 8px;border-radius:8px;color:var(--td-ink);text-decoration:none;font-size:14px}
.td-header-locale a.locale-option:hover,
.td-menu-locale a.locale-option:hover,.td-header-locale .locale-option.is-active,.td-menu-locale .locale-option.is-active{background:rgba(0,0,0,.05)}
.td-header-locale .locale-group-title,
.td-menu-locale .locale-group-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--td-muted);padding:4px 8px 8px}
.td-header-locale .currency,
.td-menu-locale .currency{color:var(--td-muted);font-size:12px}
@media (max-width:900px){.td-nav{display:none}.td-header-locale{display:none}}

/* hero */
.td-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:100vh;padding:clamp(110px,14vh,150px) clamp(20px,5vw,72px) 64px;box-sizing:border-box}
.td-hero h1{font-size:clamp(46px,6.4vw,104px);line-height:.95;letter-spacing:-.03em;margin:18px 0 22px;font-weight:400}
.td-hero h1 em{font-style:italic;color:var(--td-accent)}
.td-lead{font-size:clamp(17px,1.35vw,21px);line-height:1.55;max-width:34ch;color:var(--td-muted);margin:0 0 30px}
.td-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.td-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.td-hero-tile{position:relative;display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#e9e1d6}
.td-hero-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.td-hero-tile:hover img{transform:scale(1.04)}
.td-hero-tile span{position:absolute;left:12px;bottom:10px;background:rgba(251,248,243,.92);color:var(--td-ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.td-tile-1,.td-tile-4{transform:translateY(28px)}
@media (max-width:900px){.td-hero{grid-template-columns:1fr;min-height:auto;padding-top:110px}.td-hero-grid{grid-template-columns:repeat(3,1fr);gap:8px}.td-tile-1,.td-tile-4{transform:none}}

/* sections */
.td-section{padding:clamp(56px,8vw,120px) clamp(20px,5vw,72px)}
.td-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px;flex-wrap:wrap}
.td-section-head h2,.td-closer h2,.td-story h2{font-size:clamp(34px,4vw,62px);line-height:1;letter-spacing:-.02em;margin:12px 0 0;font-weight:400}
.td-section-head>p{max-width:46ch;color:var(--td-muted);font-size:17px;line-height:1.6;margin:0}
.td-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.td-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
@media (max-width:980px){.td-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.td-grid,.td-grid-2{grid-template-columns:1fr}}

/* cards */
.td-card{background:var(--td-paper);border:1px solid var(--td-line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.td-card[hidden]{display:none}
.td-card-media{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#ece4d9}
.td-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.td-card:hover .td-card-media img{transform:scale(1.04)}
.td-card-no{position:absolute;top:14px;left:14px;font-size:12px;letter-spacing:.1em;background:rgba(251,248,243,.9);padding:4px 9px;border-radius:999px}
.td-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.td-card-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.td-card h3{font-size:28px;font-weight:400;margin:0;letter-spacing:-.01em}
.td-card h3 a{color:inherit;text-decoration:none}
.td-card-price{font-size:17px;white-space:nowrap}
.td-card-trait{margin:0;color:var(--td-muted);font-size:15px}
.td-card-link{margin-top:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--td-accent);text-decoration:none}

/* closer look */
.td-closer{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;background:var(--td-paper)}
.td-closer-media img{width:100%;border-radius:24px;display:block}
.td-closer-copy>p{color:var(--td-muted);font-size:18px;line-height:1.6;max-width:44ch}
.td-specs{margin:28px 0 0;border-top:1px solid var(--td-line)}
.td-specs div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--td-line)}
.td-specs dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--td-muted)}.td-specs dd{margin:0}
@media (max-width:900px){.td-closer{grid-template-columns:1fr}}

/* pairs */
.td-pair-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.td-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.td-pair img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block}
.td-pair p{grid-column:1/-1;margin:6px 0 0;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:900px){.td-pair-row{grid-template-columns:1fr}}
.td-final em{color:var(--td-accent)}

/* collection page */
.td-page-heading{padding-top:clamp(120px,16vh,170px)}
.td-tools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:28px}
.td-find input{border:1px solid var(--td-line);background:var(--td-paper);border-radius:999px;padding:12px 18px;font-size:15px;min-width:240px}
.td-chips{display:flex;flex-wrap:wrap;gap:8px}
.td-chips button{border:1px solid var(--td-line);background:transparent;border-radius:999px;padding:9px 15px;font-size:13px;cursor:pointer;color:var(--td-ink)}
.td-chips button.is-active{background:var(--td-ink);color:var(--td-paper);border-color:var(--td-ink)}
.td-collection{padding-top:24px}
.td-empty{padding:40px 0;color:var(--td-muted)}

/* product page */
.td-product .main-image-wrapper img{border-radius:24px;width:100%;height:auto;display:block}
.td-product .v5-product-info h1{font-size:clamp(48px,6vw,92px);font-weight:400;letter-spacing:-.03em;margin:10px 0 14px}
.td-product .v5-product-price{font-size:26px;margin:18px 0}
.td-product form.cart{display:flex;gap:12px;align-items:center;margin:8px 0 18px}
.td-product form.cart .quantity input{width:64px;padding:12px;border:1px solid var(--td-line);border-radius:999px;text-align:center;background:var(--td-paper)}
.td-product form.cart button.single_add_to_cart_button{background:var(--td-ink)!important;color:var(--td-paper)!important;border:0;border-radius:999px;padding:15px 30px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.td-product form.cart button.single_add_to_cart_button:hover{background:var(--td-accent)!important}
.td-product .v5-product-facts dl div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--td-line)}
.td-product .v5-product-facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--td-muted)}
.td-product .v5-product-facts dd{margin:0}
.td-story{padding:clamp(48px,6vw,96px) 0 0}
.td-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.td-story-grid article{border-top:1px solid var(--td-ink);padding-top:18px}
.td-story-grid h3{font-size:22px;font-weight:400;margin:0 0 10px}
.td-story-grid p{color:var(--td-muted);line-height:1.65;margin:0}
@media (max-width:900px){.td-story-grid{grid-template-columns:1fr}}
.woocommerce-message,.woocommerce-info{border-radius:14px}

.td-menu-locale{margin-top:24px}.td-menu-locale .locale-menu{position:static;box-shadow:none;margin-top:8px}
body.talisman-dolls,.talisman-dolls .v5-main{background:var(--td-bg)!important}
.td-card,.td-closer{background:var(--td-paper)}
.td-header-locale .locale-toggle{height:auto;line-height:1.2;display:inline-flex;align-items:center;gap:6px;min-height:0}
.td-product .main-image-wrapper{aspect-ratio:auto!important;height:auto!important;background:none!important}
.td-product .main-image-wrapper img{object-fit:cover;aspect-ratio:1}

/* ---------- Hero: hanging, swinging cast ---------- */
.td-swing{position:relative;height:260vh}
.td-swing-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#F3EADC;transition:background-color .2s linear}
.td-swing-word{position:absolute;left:0;top:44%;white-space:nowrap;font-size:clamp(120px,22vw,360px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(31,27,23,.13);font-weight:400;pointer-events:none;will-change:transform}
.td-swing-rail{position:absolute;left:0;right:0;top:72px;height:6px;background:#1f1b17;border-radius:3px;box-shadow:0 6px 14px rgba(0,0,0,.12);z-index:2}
.td-swing-row{position:absolute;top:75px;left:0;display:flex;align-items:flex-start;gap:0;min-width:100%;padding:0 4vw;box-sizing:border-box;transform-origin:50% 0;will-change:transform;z-index:3}
.td-hang{flex:0 0 clamp(150px,19vw,300px);display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--td-ink)}
.td-hang-inner{display:block;transform-origin:calc(var(--cx,.5) * 100%) 0;will-change:transform}
.td-hang-inner::before{content:"";display:block;width:3px;height:calc(14px + var(--i,0) * 9px);margin-left:calc(var(--cx,.5) * 100% - 1.5px);background:#1f1b17}
.td-hang img{display:block;height:min(56vh,560px);width:auto;max-width:none;filter:drop-shadow(14px 22px 18px rgba(40,25,10,.22));user-select:none;-webkit-user-drag:none}
.td-hang b{margin-top:10px;font-weight:400;font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:rgba(251,248,243,.85);padding:5px 12px;border-radius:999px;opacity:0;transform:translateY(8px);transition:.3s}
.td-hang b small{font-size:12px;margin-left:6px;letter-spacing:0}
.td-hang:hover b,.td-hang:focus-visible b{opacity:1;transform:none}
.td-swing-copy{position:absolute;left:clamp(20px,5vw,72px);bottom:clamp(20px,4vh,48px);max-width:560px;z-index:4;background:rgba(251,248,243,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:26px 30px;border-radius:24px;will-change:transform,opacity}
.td-swing-copy h1{font-size:clamp(36px,4.6vw,72px);line-height:.98;letter-spacing:-.03em;margin:10px 0 14px;font-weight:400}
.td-swing-copy h1 em{color:var(--td-accent);display:block}
.td-swing-copy .td-lead{margin-bottom:20px}
.td-swing-next{position:absolute;right:clamp(20px,5vw,72px);bottom:clamp(28px,7vh,72px);max-width:520px;text-align:right;opacity:0;z-index:4;background:rgba(251,248,243,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px 28px;border-radius:24px}
.td-swing-next h2{font-size:clamp(30px,3.4vw,52px);line-height:1;font-weight:400;letter-spacing:-.02em;margin:10px 0 18px}
.td-swing-hint{position:absolute;right:24px;bottom:18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--td-muted);z-index:4}
@media (max-width:760px){
  .td-swing{height:230vh}
  .td-hang{flex-basis:42vw}
  .td-hang img{height:46vh}
  .td-swing-rail{top:74px}.td-swing-row{top:77px}
  .td-swing-copy{left:12px;right:12px;bottom:14px;padding:18px 18px}
  .td-swing-copy .td-lead{display:none}
  .td-swing-next{left:12px;right:12px;text-align:left}
}
@media (prefers-reduced-motion:reduce){.td-swing{height:auto}.td-swing-stage{position:relative}}

/* third screen line-up: keep its real proportions */
.td-closer-media img{width:100%!important;height:auto!important;aspect-ratio:16/10;object-fit:cover;max-height:none!important}

.td-swing-copy{padding:20px 26px}.td-swing-copy h1{font-size:clamp(34px,3.8vw,60px)}.td-swing-copy .td-lead{font-size:16px;max-width:44ch}
@media (max-width:760px){.td-swing-rail{top:62px}.td-swing-row{top:65px}}
.td-closer{grid-template-columns:1.35fr 1fr}@media (max-width:900px){.td-closer{grid-template-columns:1fr}}
