/* Tiles Studio – theme polish. Colours and fonts come from theme.json (editable in Appearance → Editor → Styles). */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
::selection { background: var(--wp--preset--color--beige); }

/* ---------- Small type helpers ---------- */
.tsi-eyebrow { font-family: var(--wp--preset--font-family--body); font-size: .72rem !important; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--gold-deep); margin: 0; }
.tsi-eyebrow--light { color: #e9c58a; }
.tsi-eyebrow a { color: inherit; text-decoration: none; }
.tsi-lead { font-size: 1.1rem; color: var(--wp--preset--color--stone); max-width: 46rem; }
.tsi-link-arrow a { font-size: .78rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .2rem; }
.tsi-link-arrow a::after { content: " →"; }
.tsi-note { background: var(--wp--preset--color--sand); border-left: 3px solid var(--wp--preset--color--gold); padding: .9rem 1.1rem; font-size: .9rem; }
.tsi-dot { opacity: .5; margin: 0 .5em; }

/* ---------- Header ---------- */
.tsi-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .tsi-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .tsi-site-header { top: 0; } }
.tsi-announce p { margin: 0; letter-spacing: .06em; }
.tsi-announce a { color: #e9c58a; text-decoration: none; }
.tsi-header .wp-block-site-title a { text-decoration: none; }
.tsi-tagline { margin: 0 !important; color: var(--wp--preset--color--gold-deep); font-style: italic; font-family: var(--wp--preset--font-family--display); font-size: .9rem !important; letter-spacing: .02em; }
.tsi-brand .wp-block-site-logo + .tsi-wordmark { display: none; } /* Logo uploaded → hide text wordmark */
.tsi-nav .wp-block-navigation-item__content { text-decoration: none; padding: .35rem 0; }
.tsi-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--gold-deep); }
.tsi-nav .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--line) !important; padding: .6rem 0 !important; min-width: 240px !important; box-shadow: 0 18px 40px rgba(28, 28, 28, .08); }
.tsi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1.2rem; text-transform: none; letter-spacing: .01em; font-size: .9rem; font-weight: 400; }
.tsi-header-icons .wp-block-search__button { background: transparent; color: var(--wp--preset--color--charcoal); border: 0; padding: .3rem; }
.tsi-header-icons .wp-block-search__input { border: 1px solid var(--wp--preset--color--line); }
.tsi-header-icons .wc-block-mini-cart__button { padding: .3rem; }
@media (max-width: 600px) {
	.tsi-tagline { display: none; }
	.tsi-header .wp-block-site-title { font-size: .85rem !important; letter-spacing: .18em !important; }
	.tsi-announce p { font-size: .68rem !important; }
}

/* ---------- Hero & covers ---------- */
.tsi-hero h1 { max-width: 14ch; }
.tsi-hero .wp-block-cover__image-background, .tsi-collection-card .wp-block-cover__image-background { transition: transform 1.2s ease; }
.tsi-collection-card { overflow: hidden; }
.tsi-collection-card:hover .wp-block-cover__image-background { transform: scale(1.05); }
.tsi-collection-card h3 a { color: #fff; text-decoration: none; }
.tsi-collection-card h3 a::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.tsi-btn-light .wp-block-button__link { color: #fff !important; border-color: #fff !important; background: transparent !important; }
.tsi-btn-light .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--charcoal) !important; }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--charcoal); }

/* ---------- Sections ---------- */
.tsi-section-head { margin-bottom: clamp(1.25rem, 3vw, 2.25rem) !important; }
.tsi-section-head h2 { margin: 0; }
.tsi-trust-item { margin: 0; display: flex; flex-direction: column; gap: .15rem; font-size: .85rem; }
.tsi-trust-item strong { font-weight: 500; letter-spacing: .02em; }
.tsi-trust-item span { color: var(--wp--preset--color--stone); font-size: .78rem; }
.tsi-trust-item::before { content: ""; display: block; width: 22px; height: 1px; background: var(--wp--preset--color--gold); margin-bottom: .55rem; }
@media (max-width: 781px) {
	.tsi-trust-cols { flex-wrap: wrap !important; row-gap: 1rem; }
	.tsi-trust-cols > .wp-block-column { flex-basis: 45% !important; }
	.tsi-collections { flex-wrap: wrap !important; }
	.tsi-collections > .wp-block-column { flex-basis: 100% !important; }
	.tsi-collection-card { min-height: 340px !important; }
}
@media (min-width: 782px) and (max-width: 1100px) {
	.tsi-collections { flex-wrap: wrap !important; }
	.tsi-collections > .wp-block-column { flex-basis: calc(50% - .7rem) !important; flex-grow: 0; }
}
.tsi-steps .tsi-step-no { font-family: var(--wp--preset--font-family--display); font-size: 3rem; line-height: 1; color: var(--wp--preset--color--gold); margin: 0 0 .5rem; }
.tsi-steps h3 { margin: 0 0 .4rem; }
.tsi-steps > .wp-block-column { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }
.tsi-sample-band .wp-block-media-text__content { padding: clamp(2rem, 5vw, 4.5rem) !important; }
.tsi-sample-band .wp-block-media-text__media { min-height: 420px; }
.tsi-ticks { list-style: none; padding-left: 0; }
.tsi-ticks li::before { content: "—"; color: var(--wp--preset--color--gold); margin-right: .6em; }
.tsi-blr .tsi-pin__label { color: #fff; }
.tsi-blr .tsi-pin__input { background: #fff; color: var(--wp--preset--color--charcoal); }
.tsi-blr .tsi-pin__btn { background: var(--wp--preset--color--gold); border-color: var(--wp--preset--color--gold); }
.tsi-blr .tsi-pin__msg.is-ok { color: #9be3b5; }
.tsi-blr .tsi-pin__msg.is-no { color: #ffb4a8; }
.tsi-faq summary, .wp-block-details summary { cursor: pointer; font-weight: 500; font-size: 1rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.wp-block-details summary::after { content: "+"; color: var(--wp--preset--color--gold-deep); font-size: 1.2rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details > p { color: var(--wp--preset--color--stone); margin-top: .6rem; }

/* ---------- Inner pages ---------- */
.tsi-page-intro { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important; border-bottom: 1px solid var(--wp--preset--color--line); }
.tsi-page-intro h1 { margin: .4rem 0 .6rem; }
.tsi-page .wp-block-heading { margin-top: 2.2rem; }

/* ---------- Shop / archives ---------- */
.tsi-shop-head { margin-bottom: 1.5rem !important; }
.tsi-shop-head h1 { margin: .6rem 0 .4rem; }
.tsi-shop-bar { border-bottom: 1px solid var(--wp--preset--color--line); padding-bottom: .8rem; margin-bottom: 1.4rem; }
.tsi-shop-bar .woocommerce-result-count, .tsi-shop-bar p { margin: 0; color: var(--wp--preset--color--stone); }
.tsi-shop-bar select { border: 1px solid var(--wp--preset--color--line); padding: .45rem .6rem; background: #fff; }
.tsi-shop-side { position: sticky; top: 120px; align-self: flex-start; }
@media (max-width: 781px) { .tsi-shop-side { position: static; flex-basis: 100% !important; } .tsi-shop-cols { flex-wrap: wrap !important; } }
.woocommerce-breadcrumb, .wc-block-components-breadcrumbs { color: var(--wp--preset--color--stone); }
.woocommerce-breadcrumb a { color: var(--wp--preset--color--stone); text-decoration: none; }

/* Product cards (blocks) */
.tsi-products .wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.6rem 1rem !important; }
.tsi-products .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; }
@media (min-width: 900px) { .tsi-products .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 2.4rem 1.6rem !important; } }
@media (min-width: 1280px) { .tsi-products .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.wc-block-product .wc-block-components-product-image, .tsi-products .wc-block-components-product-image { background: var(--wp--preset--color--sand); overflow: hidden; margin-bottom: 0 !important; }
.wc-block-product img { transition: transform .6s ease; }
.wc-block-product:hover img { transform: scale(1.04); }
.tsi-card-title, .tsi-card-title a { font-family: var(--wp--preset--font-family--body) !important; font-weight: 400 !important; text-decoration: none; text-align: left; }
.tsi-card-title a:hover { color: var(--wp--preset--color--gold-deep); }
.tsi-card-price { text-align: left; }
.tsi-card-price .tsi-box-price, .tsi-card-price .tsi-indicative { display: none; }
.tsi-products .wc-block-components-product-price, .tsi-products .wp-block-post-title { text-align: left !important; }

/* Product cards (shortcode loops: New arrivals, Best sellers, Home) */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1rem; margin: 0; padding: 0; }
@media (min-width: 782px) { .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.6rem; } .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; list-style: none; }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: cover; background: var(--wp--preset--color--sand); margin: 0 0 .8rem !important; transition: transform .6s ease; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--body); font-size: .95rem !important; font-weight: 400; padding: 0 !important; margin: 0 0 .15rem; color: var(--wp--preset--color--charcoal); }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--charcoal) !important; font-size: .9rem !important; font-weight: 500; }
.woocommerce ul.products li.product .price .tsi-box-price, .woocommerce ul.products li.product .price .tsi-indicative { display: none; }
.tsi-loop-size { display: block; font-size: .75rem; color: var(--wp--preset--color--stone); margin-bottom: .2rem; letter-spacing: .03em; }
.woocommerce span.onsale { background: var(--wp--preset--color--gold); border-radius: 0; min-height: 0; line-height: 1; padding: .45rem .6rem; }

/* ---------- Single product ---------- */
.tsi-product-title { font-size: clamp(2rem, 3.2vw, 2.8rem) !important; margin: .3rem 0 .6rem !important; }
.tsi-product-summary .wp-block-post-terms.tsi-eyebrow a { text-decoration: none; }
.tsi-product-price { margin-bottom: 1rem !important; }
.tsi-product-price .price, .tsi-product-price .wc-block-components-product-price { font-size: 1.6rem; }
.tsi-product-excerpt { color: var(--wp--preset--color--stone); }
.tsi-product-excerpt p { margin: .2rem 0; }
.tsi-product-media .woocommerce-product-gallery { background: var(--wp--preset--color--sand); width: 100% !important; float: none !important; margin: 0 !important; }
.tsi-product-media .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.tsi-product-media .wp-block-woocommerce-product-image-gallery { width: 100% !important; max-width: none !important; }
.tsi-product-media .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: .5rem !important; }
.tsi-product-media .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; }
.tsi-product .cart { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; margin-bottom: .5rem; }
.tsi-product .cart .quantity input.qty { height: 100%; min-height: 3.1rem; width: 5.5rem; border: 1px solid var(--wp--preset--color--line); text-align: center; font-size: 1rem; }
.tsi-product .cart .single_add_to_cart_button { flex: 1 1 14rem; min-height: 3.1rem; }
.tsi-product .variations { width: 100%; margin-bottom: 1rem; }
.tsi-product .variations select { width: 100%; padding: .65rem; border: 1px solid var(--wp--preset--color--line); background: #fff; }
.tsi-product .variations th.label { text-align: left; padding-right: 1rem; font-weight: 500; font-size: .85rem; }
.tsi-product .single_variation_wrap { width: 100%; }
.tsi-product .woocommerce-variation-price { margin-bottom: .8rem; }
.tsi-product-details { margin-top: clamp(2.5rem, 5vw, 4.5rem) !important; }
.tsi-product-details .wc-tabs, .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--wp--preset--color--line) !important; padding: 0 !important; display: flex; gap: 1.8rem; flex-wrap: wrap; }
.woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a { padding: .9rem 0 !important; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500 !important; text-decoration: none; color: var(--wp--preset--color--stone) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--charcoal) !important; border-bottom: 2px solid var(--wp--preset--color--gold); }
.woocommerce-tabs .panel h2:first-child { display: none; }
table.woocommerce-product-attributes { border: 0 !important; max-width: 760px; }
table.woocommerce-product-attributes th, table.woocommerce-product-attributes td { border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--line) !important; padding: .75rem 0 !important; background: none !important; font-style: normal !important; text-align: left; }
table.woocommerce-product-attributes th { width: 38%; font-weight: 500; }
table.woocommerce-product-attributes td p { margin: 0; }
.tsi-related-h { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
@media (max-width: 781px) { .tsi-product-cols { flex-wrap: wrap !important; } .tsi-product-cols > .wp-block-column { flex-basis: 100% !important; } }

/* ---------- Forms, notices, cart & checkout ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 0 !important; }
.woocommerce-message { border-top-color: var(--wp--preset--color--gold) !important; }
.woocommerce-message::before { color: var(--wp--preset--color--gold) !important; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], textarea, select { font-family: inherit; border-radius: 0; }
.wp-block-search__input { border: 1px solid var(--wp--preset--color--line); padding: .7rem .8rem; }

/* ---------- Footer ---------- */
.tsi-footer a { color: #fff; text-decoration: none; }
.tsi-footer a:hover { color: #e9c58a; }
.tsi-footer .wp-block-site-title { margin-bottom: .6rem; }
.tsi-foot-h { font-family: var(--wp--preset--font-family--body) !important; font-size: .72rem !important; letter-spacing: .2em; text-transform: uppercase; color: #e9c58a !important; font-weight: 500 !important; margin-bottom: 1rem !important; }
.tsi-foot-list { list-style: none; padding: 0; margin: 0; font-size: .88rem; line-height: 2; }
.tsi-foot-list a { color: #d9d2c7; }
.tsi-foot-legal a { color: #a39b90 !important; }
.tsi-footer .tsi-btn--wa { margin-top: .5rem; }
@media (max-width: 781px) { .tsi-footer .wp-block-columns { gap: 2rem; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Collection cards – readable text on busy photos */
.tsi-collection-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.62) 100%); z-index: 1; pointer-events: none; }
.tsi-collection-card .wp-block-cover__inner-container { z-index: 2; }
