/* Soft sky-blue identity. Native WooCommerce behavior is unchanged. */
:root {
    --color-text: #293f4c;
    --color-muted: #617583;
    --color-border: #dce9ef;
    --color-surface: #f1f8fb;
    --color-accent: #345f78;
    --color-sky: #c5e4f3;
    --color-sky-hover: #afd9ed;
    --color-ink: #284b61;
    --radius: .8rem;
}
body { background: #fdfefe; }
button, .button, input[type=submit],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
    background: var(--color-sky);
    color: var(--color-ink);
    border-color: transparent;
    border-radius: 999px;
}
button:hover, .button:hover, input[type=submit]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce button.button.alt:hover {
    background: var(--color-sky-hover);
    color: #203e51;
}
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline-color: #527f99;
}
.site-header { background: #fff; border-bottom-color: #e6eff3; }
.header-row { min-height: 70px; gap: 1.5rem; }
.header-row .custom-logo { max-height: 40px; max-width: 155px; }
.brand { font-family: var(--font-display); font-weight: 400; font-size: 1.7rem; color: var(--color-ink); }
.header-row nav { font-size: .9rem; }
.header-row .current-menu-item > a { color: var(--color-accent); text-decoration: underline; text-decoration-color: #a2d2e9; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.header-actions > a:first-child { display: none; }
.ts-cart-link { background: #edf7fb; border-radius: 999px; padding: .5rem .8rem; color: var(--color-ink); }
.header-search { padding-bottom: 0; flex: 0 1 300px; min-width: 160px; }
.header-search form { max-width: none; gap: .4rem; }
.header-search input { background: #f7fbfd; border-radius: 999px; padding: .55rem 1rem !important; font-size: .8rem; }
.header-search button { font-size: .75rem; min-height: 40px; padding: .5rem .9rem; }
.site-footer { background: #f0f7fb; }
.hero, .promo { border-radius: 22px; overflow: hidden; }
.hero-placeholder { background: linear-gradient(130deg, #d6ebf7, #eef5f8); color: #3f657c; }
.ts-catalog { padding-top: 1.5rem; }
.ts-catalog .woocommerce-breadcrumb { font-size: .75rem; color: var(--color-muted); margin-bottom: 1.4rem; }
.catalog-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: 2.4rem 3rem;
    margin-bottom: 1.75rem;
    border-radius: 24px;
    background: linear-gradient(110deg, #e4f2fa 0%, #edf7fc 62%, #f7f4f5 100%);
    position: relative;
    overflow: hidden;
}
.catalog-intro-copy { position: relative; z-index: 1; max-width: 75%; }
.catalog-eyebrow { font-size: .66rem; font-weight: 650; letter-spacing: .23em; text-transform: uppercase; color: #55758b; margin-bottom: .8rem; }
.catalog-intro h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); line-height: 1.08; font-weight: 400; letter-spacing: -.045em; margin: 0 0 .8rem; color: #2b4f66; }
.catalog-intro-note { font-size: .92rem; color: #586e7c; margin: 0; }
.catalog-intro .term-description { font-size: .9rem; }
.catalog-flourish { position: relative; width: 220px; min-height: 140px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.catalog-flourish::before { content: ''; position: absolute; inset: -36px -30px; border: 1px solid #b4d3e1; border-radius: 50%; transform: rotate(-24deg); opacity: .6; }
.catalog-flourish::after { content: ''; position: absolute; inset: -14px -50px; border: 1px solid #b4d3e1; border-radius: 50%; transform: rotate(20deg); opacity: .5; }
.catalog-flourish span { font-family: var(--font-display); font-size: 1.7rem; line-height: 1.1; text-align: center; color: #54778b; transform: rotate(-7deg); }
.catalog-flourish em { font-size: 2.2rem; font-weight: 400; }
.catalog-flourish svg { position: absolute; width: 38px; height: 38px; right: -2px; top: -4px; color: #6a98b0; }
.catalog-filter-panel { border: 1px solid var(--color-border); border-radius: 16px; background: #fff; margin-bottom: 1.8rem; }
.catalog-filter-panel summary { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.4rem; min-height: 58px; list-style: none; cursor: pointer; }
.catalog-filter-panel summary::-webkit-details-marker { display: none; }
.filter-summary-label { display: inline-flex; align-items: center; gap: .65rem; font-weight: 600; font-size: .88rem; color: #31566b; }
.filter-summary-hint { color: var(--color-muted); font-size: .78rem; }
.filter-summary-arrow { margin-left: auto; color: #52758b; font-size: 1.25rem; transition: transform .2s; }
.catalog-filter-panel[open] .filter-summary-arrow { transform: rotate(180deg); }
.catalog-filter-panel[open] summary { border-bottom: 1px solid #e6eff3; }
.catalog-filter-panel .catalog-filters { background: transparent; margin: 0; padding: 1.25rem 1.4rem; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.1rem; }
.catalog-filters label { font-size: .75rem; letter-spacing: .015em; color: #566d7d; font-weight: 500; }
.catalog-filters input, .catalog-filters select { border-color: #dce8ee; font-size: .85rem; min-height: 44px; margin-top: .15rem; background-color: #fbfdfe; }
.filter-actions { gap: 1.1rem; }
.filter-actions button { padding: .6rem 1.6rem; font-size: .8rem; }
.filter-actions a { font-size: .75rem; color: #637987; }
.ts-catalog .woocommerce-result-count { font-size: .8rem; color: #6b7f8b; padding-top: .8rem; }
.ts-catalog .woocommerce-ordering select { border-radius: 999px; padding: .65rem 2.25rem .65rem 1rem; font-size: .8rem; color: #4e6575; background-color: #fff; }
.woocommerce ul.products { gap: 2rem 1.5rem; }
.woocommerce ul.products[class*="columns-"] li.ts-product-card { width: 100%; margin: 0; float: none; }
.woocommerce ul.products li.ts-product-card {
    background: #fff;
    border: 1px solid #e5eef3;
    border-radius: 20px;
    padding: 12px 12px 16px;
    overflow: hidden;
    transition: box-shadow .22s, border-color .22s, transform .22s;
}
.woocommerce ul.products li.ts-product-card:hover { border-color: #c3dfec; box-shadow: 0 12px 30px #6b99b315; transform: translateY(-3px); }
.woocommerce ul.products li.ts-product-card a img { border-radius: 13px; margin-bottom: 1rem; background: #f0f6f9; aspect-ratio: 3 / 4; }
.woocommerce ul.products li.ts-product-card .woocommerce-loop-product__title { font-size: .94rem; line-height: 1.45; font-weight: 500; padding-inline: .3rem; color: #314b5d; }
.woocommerce ul.products li.ts-product-card .price { padding-inline: .3rem; font-size: 1.05rem; font-weight: 650; color: #325971; margin-bottom: .8rem; }
.woocommerce ul.products li.ts-product-card .price ins { font-weight: 650; }
.woocommerce ul.products li.ts-product-card .price del { font-size: .8rem; font-weight: 400; color: #768a96; }
.woocommerce ul.products li.ts-product-card .product-sizes { display: table; margin: .2rem .3rem 1rem; padding: .2rem .65rem; border-radius: 999px; background: #f2f7fa; color: #587182; font-size: .72rem; }
.woocommerce ul.products li.ts-product-card .product-sizes > span { color: #637988; }
.woocommerce ul.products li.ts-product-card .button { width: calc(100% - .6rem); align-self: center; min-height: 43px; padding: .65rem .6rem; font-size: .8rem; font-weight: 600; letter-spacing: .015em; border: 1px solid #c9e3ef; background: #e5f3fa; color: #345c73; }
.woocommerce ul.products li.ts-product-card .button:hover { background: #c6e5f3; border-color: #b2d9eb; }
.woocommerce ul.products li.ts-product-card .out-of-stock { position: absolute; top: 24px; left: 24px; margin: 0; background: #fff9; backdrop-filter: blur(6px); border: 1px solid #ffffffa6; border-radius: 999px; padding: .35rem .8rem; color: #526876; font-size: .7rem; font-weight: 500; }
.woocommerce ul.products li.ts-product-card .onsale { top: 24px; right: 24px; left: auto; border-radius: 999px; background: #d7ecf6; color: #34566b; padding: .35rem .8rem; font-size: .7rem; font-weight: 500; }
.ts-catalog nav.woocommerce-pagination { margin-top: 3rem; }
.ts-catalog nav.woocommerce-pagination ul { gap: .6rem; }
.ts-catalog nav.woocommerce-pagination ul li { border: 0; border-radius: 50%; overflow: hidden; }
.ts-catalog nav.woocommerce-pagination ul li a, .ts-catalog nav.woocommerce-pagination ul li span { min-width: 42px; min-height: 42px; padding: .8rem; font-size: .85rem; color: #506c7d; }
.ts-catalog nav.woocommerce-pagination ul li span.current { background: #d5ebf7; color: #274e65; }
.ts-catalog nav.woocommerce-pagination ul li a:hover { background: #edf7fb; }
@media (max-width: 1000px) {
    .header-row { gap: 1rem; }
    .header-search { flex-basis: 240px; }
    .catalog-intro { padding: 2rem; }
    .catalog-flourish { width: 175px; }
    .catalog-flourish span { font-size: 1.5rem; }
    .catalog-flourish em { font-size: 1.9rem; }
}
@media (max-width: 860px) {
    .header-row { padding-block: .65rem; gap: .65rem 1rem; }
    .header-row .brand { margin-right: auto; }
    .header-row .menu-toggle { min-height: 38px; padding: .4rem .8rem; font-size: .78rem; border-color: #deebf1; border-radius: 999px; }
    .header-row .ts-cart-link { min-height: 38px; padding: .4rem .7rem; }
    .header-row .header-search { order: 5; flex-basis: 100%; width: 100%; }
    .header-row .header-search input { padding-block: .4rem !important; }
    .header-row .header-search button { min-height: 36px; }
    .header-row nav { margin: 0; }
}
@media (max-width: 768px) {
    .catalog-intro { padding: 1.75rem; border-radius: 18px; }
    .catalog-intro-copy { max-width: 75%; }
    .catalog-flourish { width: 100px; min-height: 110px; }
    .catalog-flourish span { font-size: 1.2rem; }
    .catalog-flourish em { font-size: 1.5rem; }
    .catalog-flourish svg { width: 25px; right: 0; }
    .catalog-filter-panel .catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1rem; }
    .ts-catalog .woocommerce-result-count { float: left; width: auto; padding: .6rem 0; }
    .ts-catalog .woocommerce-ordering { float: right; width: auto; max-width: 60%; }
    .ts-catalog .woocommerce-ordering select { max-width: 100%; }
    .woocommerce ul.products { gap: 1.2rem .85rem; }
    .woocommerce ul.products li.ts-product-card { padding: 8px 8px 12px; border-radius: 15px; }
    .woocommerce ul.products li.ts-product-card a img { border-radius: 10px; margin-bottom: .8rem; }
    .woocommerce ul.products li.ts-product-card .woocommerce-loop-product__title { font-size: .8rem; padding-inline: .1rem; }
    .woocommerce ul.products li.ts-product-card .price { font-size: .92rem; padding-inline: .1rem; }
    .woocommerce ul.products li.ts-product-card .product-sizes { font-size: .67rem; margin-left: 0; padding-inline: .5rem; }
    .woocommerce ul.products li.ts-product-card .button { width: 100%; font-size: .7rem; padding-inline: .3rem; min-height: 42px; letter-spacing: 0; }
    .woocommerce ul.products li.ts-product-card .out-of-stock, .woocommerce ul.products li.ts-product-card .onsale { top: 17px; font-size: .65rem; padding: .25rem .55rem; }
    .woocommerce ul.products li.ts-product-card .out-of-stock { left: 15px; }
    .woocommerce ul.products li.ts-product-card .onsale { right: 15px; }
}
@media (max-width: 480px) {
    .brand { font-size: 1.45rem; }
    .header-row { gap: .65rem; }
    .ts-catalog { padding-top: 1.15rem; }
    .catalog-intro { padding: 1.7rem 1.4rem; margin-bottom: 1.2rem; }
    .catalog-intro-copy { max-width: 100%; }
    .catalog-intro h1 { font-size: 3rem; }
    .catalog-eyebrow { font-size: .59rem; }
    .catalog-intro-note { font-size: .8rem; max-width: 25ch; }
    .catalog-flourish { position: absolute; right: -50px; bottom: -12px; opacity: .25; }
    .catalog-flourish span { display: none; }
    .catalog-filter-panel { margin-bottom: 1.4rem; }
    .catalog-filter-panel summary { padding: .9rem 1rem; gap: .75rem; }
    .filter-summary-hint { font-size: .66rem; }
    .filter-summary-label { font-size: .8rem; }
    .ts-catalog .woocommerce-result-count { font-size: .7rem; float: none; padding: 0; }
    .ts-catalog .woocommerce-ordering { float: none; width: 100%; max-width: none; margin-bottom: .7rem; }
    .ts-catalog .woocommerce-ordering select { width: 100%; font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) { .woocommerce ul.products li.ts-product-card:hover { transform: none; } }

/* Tightly framed logo keeps the header compact. */
.header-row .custom-logo-link { display: inline-flex; align-items: center; }
.header-row .custom-logo { width: auto; height: 62px; max-height: 62px; max-width: 200px; object-fit: contain; }
@media (max-width: 860px) { .header-row .custom-logo { height: 54px; max-height: 54px; max-width: 150px; } }

/* Four evenly sized product cards on desktop, two on small screens. */
@media (min-width: 769px) {
    .woocommerce ul.products[class*="columns-"], .woocommerce-page ul.products[class*="columns-"] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 1rem; }
}
/* Clear, softly styled add-to-cart confirmations across the shop. */
.woocommerce .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1.2rem;
    padding: 1.15rem 1.35rem 1.15rem 3.3rem;
    margin: 0 0 1.5rem;
    background: #edf7fc;
    border: 1px solid #cde4f0;
    border-radius: 16px;
    box-shadow: 0 4px 16px #62899d08;
    color: #34566b;
    font-size: .9rem;
    line-height: 1.6;
    list-style: none;
}
.woocommerce .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-message::before { color: #54879f; top: 1.2rem; left: 1.2rem; }
.woocommerce .woocommerce-message::after,
.woocommerce-notices-wrapper .woocommerce-message::after { display: none; }
.woocommerce .woocommerce-message a.button,
.woocommerce-notices-wrapper .woocommerce-message a.button {
    order: 1;
    float: none;
    margin-left: auto;
    flex-shrink: 0;
    background: #c5e4f3;
    color: #284b61;
    border: 1px solid #b8dbea;
    border-radius: 999px;
    padding: .6rem 1.1rem;
    min-height: 42px;
    font-size: .82rem;
    text-decoration: none;
}
.woocommerce .woocommerce-message a.button:hover { background: #afd9ed; }
@media (max-width: 600px) {
    .woocommerce .woocommerce-message,
    .woocommerce-notices-wrapper .woocommerce-message { display: flex; flex-direction: column; align-items: stretch; gap: .65rem; padding: 1rem 1rem 1rem 2.8rem; font-size: .85rem; }
    .woocommerce .woocommerce-message::before,
    .woocommerce-notices-wrapper .woocommerce-message::before { left: 1rem; top: 1.05rem; }
    .woocommerce .woocommerce-message a.button,
    .woocommerce-notices-wrapper .woocommerce-message a.button { display: block; margin: .8rem 0 0; text-align: center; float: none; }
}
/* Compact catalog heading keeps the collection closer to the top. */
.catalog-intro { padding: 1.1rem 1.5rem; margin-bottom: 1rem; gap: 1rem; border-radius: 16px; }
.catalog-eyebrow { font-size: .6rem; margin-bottom: .35rem; }
.catalog-intro h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; margin-bottom: .35rem; }
.catalog-intro-note { font-size: .84rem; }
.catalog-flourish { width: 170px; min-height: 70px; }
.catalog-flourish span { font-size: 1.15rem; }
.catalog-flourish em { font-size: 1.45rem; }
.catalog-flourish svg { width: 24px; height: 24px; }
@media (max-width: 768px) {
    .catalog-intro { padding: 1rem 1.2rem; }
    .catalog-intro-copy { max-width: 100%; }
    .catalog-flourish { display: none; }
    .catalog-intro-note { max-width: none; font-size: .8rem; }
}

/* Merida footer: soft blue, clear navigation and social icons. */
.site-footer { background: linear-gradient(120deg,#eaf5fb,#f4f9fc); border-top: 1px solid #dbeaf2; margin-top: 2rem; padding-top: 2.5rem; color: #607d8e; }
.site-footer .footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1fr; gap: 2rem; padding-bottom: 2rem; }
.site-footer .footer-identity .brand { font-family: Georgia,serif; font-weight: 400; font-size: 1.8rem; color: #284b61; margin: 0 0 .4rem; }
.site-footer .footer-identity p { margin: 0 0 .6rem; font-size: .85rem; }
.footer-signature { display: inline-block; font-family: Georgia,serif; font-size: 1.05rem; font-style: italic; color: #7391a2; margin-top: .3rem; }
.site-footer h2 { font-family: inherit; font-size: .76rem; font-weight: 600; letter-spacing: .06em; color: #34566b; margin: 0 0 1rem; }
.site-footer .footer-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.site-footer a { color: #58798c; text-decoration: none; font-size: .83rem; }
.site-footer a:hover { color: #284b61; }
.footer-socials { display: flex; flex-wrap: wrap; gap: .8rem 1.1rem; }
.footer-social { display: inline-flex; align-items: center; gap: .5rem; }
.footer-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #cbdfe9; border-radius: 50%; background: #ffffffa6; color: #4b758c; transition: background .15s; }
.footer-social-icon svg { width: 21px; height: 21px; }
.footer-social:hover .footer-social-icon { background: #cde8f6; }
.site-footer a:focus-visible { outline: 2px solid #54879f; outline-offset: 4px; border-radius: 4px; }
.site-footer .footer-contact { font-size: .8rem; margin: .8rem 0 0; overflow-wrap: anywhere; }
.site-footer .footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #dbe7ee; padding-block: 1rem; font-size: .72rem; color: #78909e; }
@media(max-width:768px) {
 .site-footer { padding-top: 1.7rem; }
 .site-footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
 .site-footer .footer-identity { grid-column: 1 / -1; }
 .footer-socials { flex-direction: column; }
 .site-footer .footer-bottom { flex-wrap: wrap; gap: .35rem; }
}


.footer-whatsapp { margin-top: .9rem; }
/* Product-card purchase action: centered, clear and consistent at every width. */
.woocommerce ul.products li.ts-product-card a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .45rem;
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    margin-top: auto;
    padding: .75rem .55rem;
    border: 1px solid #aed3e5;
    border-radius: 12px;
    background: #c5e4f3;
    color: #284b61;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    text-decoration: none;
    box-shadow: 0 2px 4px #345f7808;
    transition: background .15s, border-color .15s, box-shadow .15s;
}
.woocommerce ul.products li.ts-product-card a.button:hover { background: #aed7eb; border-color: #83b8d1; color: #203f51; box-shadow: 0 3px 8px #345f7814; }
.woocommerce ul.products li.ts-product-card a.button:focus-visible { outline: 3px solid #54879f; outline-offset: 3px; }
.woocommerce ul.products li.ts-product-card a.button:active { background: #9dcde4; box-shadow: none; }
@media(max-width:768px) {
    .woocommerce ul.products li.ts-product-card a.button { min-height: 44px; padding: .65rem .35rem; font-size: .74rem; border-radius: 10px; }
}
.ts-product-card .ts-card-size-panel { position: absolute; left: 10px; right: 10px; bottom: 70px; z-index: 5; padding: 1rem; background: #fff; border: 1px solid #bddce9; border-radius: 16px; box-shadow: 0 6px 25px #284b6126; color: #34566b; }
.ts-card-size-panel > strong { display: block; font-size: .85rem; padding-right: 20px; }
.ts-card-size-panel .ts-card-size-close { position: absolute; right: 7px; top: 7px; padding: 0; width: 28px; height: 28px; border: 0; background: #eef7fc; color: #34566b; cursor: pointer; }
.ts-card-size-options { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.ts-card-size-options .ts-card-size-choice { min-width: 40px; min-height: 40px; padding: .4rem .65rem; border: 1px solid #bad9e9; border-radius: 10px; background: #e5f3fb; color: #284b61; cursor: pointer; font-size: .8rem; }
.ts-card-size-options .ts-card-size-choice:hover { background: #bcdfee; }
.ts-card-size-choice:disabled { opacity: .5; cursor: wait; }
.ts-card-size-panel p { font-size: .75rem; line-height: 1.5; margin: .6rem 0 0; }
.ts-card-size-panel p:empty { display: none; }
.ts-card-size-panel button:focus-visible { outline: 2px solid #54879f; outline-offset: 2px; }
/* Center product-card content throughout the store. */
.woocommerce ul.products li.ts-product-card { text-align: center; }
.woocommerce ul.products li.ts-product-card .woocommerce-loop-product__title,
.woocommerce ul.products li.ts-product-card .price { text-align: center; }
.woocommerce ul.products li.ts-product-card .product-sizes { margin-left: auto; margin-right: auto; }
.ts-product-card .ts-card-size-panel { text-align: center; }
.ts-card-size-panel > strong { padding-inline: 20px; }
.ts-card-size-options { justify-content: center; }

/* Balanced mobile navigation with a truly centered brand. */
@media (max-width: 860px) {
    .site-header .header-row { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .6rem .35rem; padding-block: .55rem; }
    .site-header .header-row .brand { grid-column: 2; grid-row: 1; justify-self: center; margin: 0; min-width: 0; text-align: center; }
    .site-header .header-row .custom-logo { max-width: 100px; height: 54px; }
    .site-header .header-row .menu-toggle { grid-column: 1; grid-row: 1; justify-self: start; width: 44px; height: 44px; padding: 0; min-height: 44px; border: 0; border-radius: 50%; background: #eff7fb; color: #34566b; font-size: 21px; }
    .site-header .header-row .header-actions { grid-column: 3; grid-row: 1; justify-self: end; gap: .3rem; margin: 0; }
    .site-header .header-row .ts-cart-link { min-height: 44px; padding: .4rem .5rem; gap: .25rem; }
    .site-header .header-row > nav { grid-column: 1 / -1; grid-row: 2; }
    .site-header .header-row .header-search { grid-column: 1 / -1; grid-row: 3; min-width: 0; }
}
/* Contact links share an evenly aligned two-column grid. */
.site-footer .footer-socials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem 1rem; }
.site-footer .footer-socials .footer-social { display: flex; align-items: center; gap: .55rem; min-width: 0; margin: 0; line-height: 1.35; }
.site-footer .footer-social-icon { flex: 0 0 40px; }
.site-footer .footer-social-detail { display: block; margin-top: .15rem; font-size: .7rem; color: #78909e; }
@media(max-width:768px) {
    .site-footer .footer-connect { grid-column: 1 / -1; }
    .site-footer .footer-socials { max-width: 420px; }
}
/* Dismissible success and information notices, including AJAX updates. */
body .ts-dismissible-notice { position: relative; padding-right: 3.5rem !important; }
body .ts-dismissible-notice .ts-notice-close { position: absolute; right: .55rem; top: .55rem; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-height: 36px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; color: #34566b; font-size: 25px; font-weight: 400; line-height: 1; cursor: pointer; }
body .ts-dismissible-notice .ts-notice-close:hover { background: #d3eaf6; color: #203f51; }
body .ts-dismissible-notice .ts-notice-close:focus-visible { outline: 2px solid #54879f; outline-offset: 1px; }
/* Minimal catalog introduction: let the products lead. */
.ts-catalog .catalog-intro { display: block; padding: .35rem 0 .9rem; margin: 0 0 .9rem; background: transparent; border: 0; border-bottom: 1px solid #e0ebf1; border-radius: 0; box-shadow: none; min-height: 0; }
.ts-catalog .catalog-intro::before,.ts-catalog .catalog-intro::after,.ts-catalog .catalog-eyebrow,.ts-catalog .catalog-flourish { display: none; }
.ts-catalog .catalog-intro-copy { max-width: none; }
.ts-catalog .catalog-intro h1 { font-family: inherit; font-size: 1.65rem; font-weight: 500; line-height: 1.2; letter-spacing: -.025em; margin: 0 0 .35rem; color: #284b61; }
.ts-catalog .catalog-intro-note { margin: 0; font-size: .8rem; line-height: 1.5; color: #78909e; max-width: none; }
.ts-catalog .catalog-intro .woocommerce-products-header { margin: 0; padding: 0; }
@media(max-width:768px) {
 .ts-catalog .catalog-intro { padding: .2rem 0 .75rem; margin-bottom: .8rem; }
 .ts-catalog .catalog-intro h1 { font-size: 1.45rem; }
 .ts-catalog .catalog-intro-note { font-size: .76rem; }
}
/* Centered, balanced fields in the expanded catalog filter panel. */
.ts-catalog .catalog-filter-panel .catalog-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 900px; margin-inline: auto; padding: 1.25rem; gap: 1rem 1.2rem; align-items: end; text-align: center; }
.ts-catalog .catalog-filters label { display: flex; flex-direction: column; align-items: stretch; gap: .4rem; min-width: 0; text-align: center; color: #496c81; }
.ts-catalog .catalog-filters select,.ts-catalog .catalog-filters input { width: 100%; text-align: center; text-align-last: center; min-height: 44px; margin: 0; border: 1px solid #cddfe9; border-radius: 11px; background-color: #f7fbfd; color: #34566b; }
.ts-catalog .catalog-filters .filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1.2rem; padding-top: .4rem; }
.ts-catalog .catalog-filters .filter-actions button { background: #c5e4f3; color: #284b61; border: 1px solid #afd4e7; border-radius: 11px; min-height: 44px; }
.ts-catalog .catalog-filters .filter-actions button:hover { background: #afd9ed; }
.ts-catalog .catalog-filters :focus-visible { outline: 2px solid #54879f; outline-offset: 2px; }
@media(max-width:768px) {
 .ts-catalog .catalog-filter-panel .catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem .7rem; padding: 1rem; }
}
@media(max-width:360px) {
 .ts-catalog .catalog-filter-panel .catalog-filters { grid-template-columns: minmax(0,1fr); }
}/* Center incomplete rows as well as the controls themselves. */
.ts-catalog .catalog-filter-panel .catalog-filters { display: flex; flex-wrap: wrap; justify-content: center; }
.ts-catalog .catalog-filters > label { flex: 0 1 calc((100% - 2.4rem) / 3); }
.ts-catalog .catalog-filters .filter-actions { flex: 0 0 100%; }
@media(max-width:768px) { .ts-catalog .catalog-filters > label { flex-basis: calc((100% - .7rem) / 2); } }
@media(max-width:360px) { .ts-catalog .catalog-filters > label { flex-basis: 100%; } }
/* One consistent row for all catalog filters on desktop. */
@media(min-width:769px) {
 .ts-catalog .catalog-filter-panel .catalog-filters { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); max-width: none; align-items: end; gap: 1rem; padding: 1.2rem; }
 .ts-catalog .catalog-filters > label { width: 100%; min-width: 0; }
 .ts-catalog .catalog-filters .filter-actions { grid-column: 1 / -1; padding-top: .2rem; }
 .ts-catalog .catalog-filter-panel .catalog-filters:has(> label:nth-of-type(6)) { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
/* Catalog empty state with a clear way back to all products. */
.woocommerce .ts-empty-products { clear: both; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 2rem 1.25rem; margin: 1rem 0 2rem; border: 1px solid #dceaf2; border-radius: 18px; background: linear-gradient(120deg,#f0f8fc,#fbfdfe); }
.ts-empty-products-icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 1rem; border-radius: 50%; background: #dceff8; color: #54879f; }
.woocommerce .ts-empty-products h2 { margin: 0 0 .6rem; font-family: inherit; font-size: 1.3rem; font-weight: 500; line-height: 1.4; color: #284b61; }
.woocommerce .ts-empty-products p { max-width: 48ch; margin: 0 0 1.2rem; font-size: .86rem; line-height: 1.7; color: #708793; }
.woocommerce .ts-empty-products a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .75rem 1.3rem; border: 1px solid #afd4e7; border-radius: 11px; background: #c5e4f3; color: #284b61; font-size: .84rem; text-decoration: none; }
.woocommerce .ts-empty-products a.button:hover { background: #afd9ed; }
.woocommerce .ts-empty-products a.button:focus-visible { outline: 2px solid #54879f; outline-offset: 3px; }
@media(max-width:600px) { .woocommerce .ts-empty-products { padding: 1.5rem 1rem; } .woocommerce .ts-empty-products h2 { font-size: 1.15rem; } }
/* Quiet, consistent navigation trails throughout the storefront. */
body .content-area .woocommerce-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0 0 1.1rem; padding: .55rem .8rem; border: 1px solid #e1edf3; border-radius: 10px; background: #f5fafd; color: #58778a; font-size: .75rem; line-height: 1.6; text-align: left; }
body .content-area .woocommerce-breadcrumb a { color: #708793; text-decoration: none; border-radius: 3px; }
body .content-area .woocommerce-breadcrumb a:hover { color: #284b61; text-decoration: underline; text-underline-offset: 3px; }
body .content-area .woocommerce-breadcrumb a:focus-visible { outline: 2px solid #54879f; outline-offset: 3px; }
.ts-breadcrumb-separator { color: #9bb6c5; font-size: 1rem; }
.ts-breadcrumb-item { min-width: 0; overflow-wrap: anywhere; }
.ts-breadcrumb-item:last-child { color: #34566b; font-weight: 500; }
@media(max-width:600px) { body .content-area .woocommerce-breadcrumb { font-size: .7rem; padding: .5rem .65rem; gap: .2rem .4rem; margin-bottom: .85rem; } }
/* Search and disclosure share one compact Merida toolbar. */
.ts-filter-bar { position:relative; margin-bottom:1.5rem; border:1px solid #dce8ee; border-radius:18px; background:#fff; box-shadow:0 3px 16px #284b6105; }
.ts-filter-bar .catalog-filter-panel { margin:0; border:0; background:transparent; }
.ts-filter-bar .catalog-filter-panel summary { min-height:76px; padding:16px 20px; width:53%; gap:12px; }
.ts-filter-bar .catalog-filter-panel[open] summary { border-bottom:0; }
.ts-filter-bar .catalog-filter-panel[open] .catalog-filters { border-top:1px solid #e6eff3; }
.ts-filter-search { position:absolute; top:14px; right:16px; width:43%; display:flex; align-items:center; border:1px solid #cbdfe9; border-radius:12px; background:#f8fcfe; overflow:hidden; }
.ts-filter-search:focus-within { border-color:#54879f; box-shadow:0 0 0 3px #c5e4f355; }
.ts-filter-search input[type=search] { min-width:0; width:100%; min-height:46px; padding:10px 14px; border:0; background:transparent; color:#284b61; font-size:14px; outline:none; box-shadow:none; }
.ts-filter-search input::placeholder { color:#718996; }
.ts-filter-search button { flex:0 0 44px; min-height:44px; padding:8px; border:0; border-radius:10px; background:transparent; color:#426c82; }
.ts-filter-search button:hover { background:#dceff8; color:#284b61; }
@media(max-width:900px) { .ts-filter-bar .filter-summary-hint { display:none; } }
@media(max-width:540px) {
 .ts-filter-bar .catalog-filter-panel summary { width:34%; padding:14px 10px; min-height:72px; gap:7px; }
 .ts-filter-bar .filter-summary-label { gap:6px; }
 .ts-filter-bar .filter-summary-arrow { font-size:16px; }
 .ts-filter-search { width:62%; right:10px; top:12px; }
 .ts-filter-search input[type=search] { padding:9px; font-size:12px; }
 .ts-filter-search button { flex-basis:36px; }
}

/* Keep the disclosure control at the far edge, after the search field. */
.ts-filter-bar .catalog-filter-panel summary { width:100%; padding-right:calc(43% + 96px); }
.ts-filter-bar .ts-filter-search { right:76px; z-index:2; }
.ts-filter-bar .filter-summary-arrow { position:absolute; right:16px; top:16px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; border:1px solid #cbdfe9; border-radius:12px; background:#edf7fc; color:#426c82; font-size:0; transform:none; transition:background .2s,border-color .2s; }
.ts-filter-bar .filter-summary-arrow::before { content:''; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
.ts-filter-bar summary:hover .filter-summary-arrow { background:#d5ebf6; border-color:#aacedd; }
.ts-filter-bar .catalog-filter-panel[open] .filter-summary-arrow { transform:none; background:#d5ebf6; }
.ts-filter-bar .catalog-filter-panel[open] .filter-summary-arrow::before { transform:translateY(2px) rotate(225deg); }
@media(max-width:540px) {
 .ts-filter-bar .catalog-filter-panel summary { width:100%; padding-right:calc(100% - 98px); }
 .ts-filter-bar .ts-filter-search { left:98px; right:64px; width:auto; }
 .ts-filter-bar .filter-summary-arrow { right:10px; top:14px; }
}
@media(prefers-reduced-motion:reduce) { .ts-filter-bar .filter-summary-arrow::before { transition:none; } }
/* Merida policies: compact heading, readable sections and direct navigation. */
.merida-terms { max-width:1140px; padding-top:24px; }
.merida-terms-heading { text-align:center; margin:26px auto 30px; }
.merida-terms-heading .home-eyebrow { color:#668596; font-size:11px; text-transform:uppercase; letter-spacing:.14em; margin-bottom:10px; }
.merida-terms-heading h1 { font-size:clamp(28px,3.5vw,40px); color:#284b61; margin-bottom:12px; }
.merida-terms-heading > p:last-child { color:#68818e; font-size:14px; margin:0; }
.merida-terms-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; align-items:start; }
.merida-terms-index { position:sticky; top:24px; padding:22px; background:#f0f8fc; border:1px solid #dcebf3; border-radius:18px; }
.merida-terms-index h2 { font-family:inherit; font-size:14px; font-weight:600; color:#284b61; margin:0 0 14px; }
.merida-terms-index ol { margin:0; padding-left:20px; color:#6c8c9d; font-size:12px; }
.merida-terms-index li { padding:5px 0 5px 3px; }
.merida-terms-index a { color:#496c80; text-decoration:none; line-height:1.5; }
.merida-terms-index a:hover { color:#203e51; text-decoration:underline; }
.merida-terms-intro { color:#527182; padding:0 4px 10px; font-size:14px; }
.merida-terms-section { scroll-margin-top:24px; padding:24px 28px; margin-bottom:16px; border:1px solid #dcebf3; border-radius:18px; background:#fff; color:#526b79; font-size:14px; line-height:1.85; }
.merida-terms-section h2 { font-family:inherit; font-size:18px; font-weight:600; line-height:1.5; letter-spacing:0; color:#284b61; margin:0 0 14px; }
.merida-terms-section h3 { font-size:15px; font-weight:600; color:#3e657a; margin:18px 0 8px; }
.merida-terms-section p:last-child { margin-bottom:0; }
.merida-terms-section ul { padding-left:20px; }
.merida-terms-section strong { color:#34586d; }
.merida-terms-help { text-align:center; padding:26px; background:#edf7fc; border-radius:18px; color:#527182; font-size:14px; }
.merida-terms-help h2 { font-size:24px; color:#284b61; margin-bottom:10px; }
.merida-terms-help .button { background:#c5e4f3; color:#284b61; border:1px solid #afd4e7; border-radius:12px; }
.merida-terms-help .button:hover { background:#afd9ed; color:#203e51; }
@media(max-width:760px) { .merida-terms-layout { grid-template-columns:1fr; gap:20px; } .merida-terms-index { position:static; } .merida-terms-index ol { columns:2; column-gap:25px; } .merida-terms-index li { break-inside:avoid; } .merida-terms-section { padding:20px; } }
@media(max-width:420px) { .merida-terms-index ol { columns:1; } }

/* Merida footer: balanced columns and consistently sized contact links. */
.site-footer { padding-top:36px; background:linear-gradient(135deg,#f0f8fc 0%,#e9f5fb 100%); border-top:1px solid #d6e7f0; }
.site-footer .footer-grid { grid-template-columns:1.1fr .85fr 1.25fr; gap:40px; padding-bottom:30px; align-items:center; }
.site-footer .footer-identity { max-width:300px; }
.site-footer .footer-identity .brand { font-size:30px; margin-bottom:8px; }
.site-footer .footer-signature { font-size:18px; line-height:1.55; color:#52778b; max-width:260px; }
.site-footer h2 { font-family:inherit; font-size:13px; font-weight:600; letter-spacing:.04em; color:#34586d; margin:0 0 16px; }
.site-footer .footer-navigation ul { gap:0; }
.site-footer .footer-navigation p { margin:0; }
.site-footer .footer-navigation a { display:inline-flex; align-items:center; min-height:28px; padding:2px 0; line-height:24px; color:#527182; font-size:13px; text-decoration:none; border-radius:4px; }
.site-footer .footer-navigation a:hover { color:#203e51; text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-socials { gap:10px; }
.site-footer .footer-socials .footer-social { min-height:62px; padding:10px; border:1px solid #d6e6ef; border-radius:13px; background:#ffffff9c; color:#41657a; font-size:12px; transition:background .18s,border-color .18s; }
.site-footer .footer-socials .footer-social:hover { background:#fff; border-color:#a9cddd; color:#203e51; text-decoration:none; }
.site-footer .footer-social-icon { width:34px; height:34px; flex-basis:34px; border:0; background:#e8f4fa; }
.site-footer .footer-social-icon svg { width:19px; height:19px; }
.site-footer .footer-bottom { margin-top:0; align-items:center; padding-block:16px; color:#617e8e; }
.site-footer .footer-bottom a { color:#456b80; text-decoration:none; padding:6px 0; }
.site-footer .footer-bottom a:hover { text-decoration:underline; }
.site-footer a:focus-visible { outline:2px solid #54879f; outline-offset:4px; }
@media(max-width:850px) { .site-footer .footer-grid { grid-template-columns:1fr 1fr; gap:28px; } .site-footer .footer-identity { grid-column:1/-1; max-width:none; text-align:center; } .site-footer .footer-signature { max-width:none; } .site-footer .footer-connect { grid-column:auto; } }
@media(max-width:540px) { .site-footer { padding-top:28px; } .site-footer .footer-grid { grid-template-columns:1fr; gap:24px; text-align:center; } .site-footer .footer-navigation ul { justify-items:center; } .site-footer .footer-socials { max-width:380px; margin-inline:auto; text-align:left; } .site-footer .footer-bottom { justify-content:center; flex-direction:column; gap:2px; } }

/* Merida social directory: editorial links, independent from card layouts. */
.site-footer .footer-socials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; counter-reset:merida-social; }
.site-footer .footer-socials .footer-social { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; min-height:100px; padding:14px 0; border:0; border-bottom:1px solid #bdd5e1; border-radius:0; background:transparent; font-size:13px; counter-increment:merida-social; }
.site-footer .footer-socials .footer-social::before { content:'0' counter(merida-social); position:absolute; right:0; top:16px; color:#7997a6; font-size:10px; letter-spacing:.08em; }
.site-footer .footer-socials .footer-social:hover { background:transparent; border-color:#527d93; color:#203e51; }
.site-footer .footer-social-icon { width:23px; height:23px; flex-basis:auto; border-radius:0; background:transparent; color:#52788d; transition:transform .2s; }
.site-footer .footer-social-icon svg { width:23px; height:23px; }
.site-footer .footer-social:hover .footer-social-icon { background:transparent; transform:translateY(-3px); }
.site-footer .footer-socials .footer-whatsapp { grid-column:1/-1; flex-direction:row; justify-content:flex-start; align-items:center; gap:12px; min-height:66px; margin-top:12px; border:0; }
.site-footer .footer-socials .footer-whatsapp::before { content:'↗'; top:22px; font-size:20px; color:#52788d; }
.site-footer .footer-whatsapp .footer-social-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid #bdd5e1; border-radius:50%; }
.site-footer .footer-social-detail { letter-spacing:.05em; }
@media(max-width:540px) { .site-footer .footer-socials { gap:0 20px; max-width:340px; } .site-footer .footer-socials .footer-social { align-items:center; } .site-footer .footer-socials .footer-whatsapp { align-items:center; justify-content:center; } }
@media(prefers-reduced-motion:reduce) { .site-footer .footer-social-icon { transition:none; } }
/* Two balanced rows of social links, without numbering. */
.site-footer .footer-socials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.site-footer .footer-socials .footer-social::before { content:none; }
.site-footer .footer-socials .footer-whatsapp { grid-column:auto; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; min-height:100px; margin-top:0; padding:14px 0; border-bottom:1px solid #bdd5e1; }
.site-footer .footer-whatsapp .footer-social-icon { width:23px; height:23px; border:0; border-radius:0; }
@media(max-width:540px) { .site-footer .footer-socials .footer-whatsapp { align-items:center; } }
/* Refined Merida navigation, scoped to the main menu. */
.site-header { box-shadow:0 4px 18px #284b6105; }
.site-header .header-row { gap:20px; }
.site-header #primary-navigation > ul { gap:5px; }
.site-header #primary-navigation > ul > li > a { display:flex; align-items:center; justify-content:center; min-height:40px; padding:9px 16px; border-radius:12px; font-size:13px; font-weight:500; color:#527182; text-decoration:none; transition:background .18s,color .18s; }
.site-header #primary-navigation > ul > li > a:hover { background:#f0f8fc; color:#284b61; }
.site-header #primary-navigation > ul > .current-menu-item > a { background:#e7f4fa; color:#284b61; box-shadow:inset 0 0 0 1px #d6eaf4; text-decoration:none; }
.site-header #primary-navigation a:focus-visible { outline:2px solid #54879f; outline-offset:3px; }
.site-header .header-search input[type=search] { border:1px solid #d9e7ef; border-radius:12px; background:#fbfdfe; color:#284b61; }
.site-header .header-search input[type=search]:focus { border-color:#8fbacf; outline:2px solid #e0f1f9; outline-offset:1px; }
.site-header .header-search button { border-radius:12px; }
.site-header .ts-cart-link,.site-header .ts-user-menu > summary { border:1px solid #e0edf3; border-radius:13px; background:#f3f9fc; color:#365c72; transition:background .18s; }
.site-header .ts-cart-link:hover,.site-header .ts-user-menu > summary:hover { background:#e2f1f8; color:#284b61; }
@media(max-width:860px) {
 .site-header .header-row { gap:8px; }
 .site-header #primary-navigation.is-open { padding:8px; border:1px solid #dcebf3; border-radius:16px; background:#fbfdfe; }
 .site-header #primary-navigation > ul { gap:4px; }
 .site-header #primary-navigation > ul > li > a { justify-content:flex-start; min-height:44px; padding:10px 14px; }
 .site-header .header-row .menu-toggle { border-radius:13px; background:#f0f8fc; border:1px solid #e0edf3; }
 .site-header .menu-toggle[aria-expanded=true] { background:#dceff8; color:#284b61; }
}
@media(prefers-reduced-motion:reduce) { .site-header #primary-navigation a,.site-header .ts-cart-link,.site-header .ts-user-menu > summary { transition:none; } }
/* Compact Merida social cards, two per row. */
.site-footer .footer-socials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.site-footer .footer-socials .footer-social,
.site-footer .footer-socials .footer-whatsapp { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; min-height:76px; margin:0; padding:14px; border:1px solid #cfE3ed; border-radius:18px 6px 18px 6px; background:linear-gradient(120deg,#ffffffdb,#f4fbfe); box-shadow:0 3px 10px #284b6104; color:#345c73; font-size:13px; text-align:left; transition:background .2s,border-color .2s,box-shadow .2s,transform .2s; }
.site-footer .footer-socials .footer-social::before { content:none; }
.site-footer .footer-socials .footer-social > span:last-child { min-width:0; }
.site-footer .footer-socials .footer-social-icon { display:flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:34px; border:0; border-radius:11px; background:#e4f2f9; color:#4b7990; }
.site-footer .footer-socials .footer-social-icon svg { width:20px; height:20px; }
.site-footer .footer-socials .footer-social:hover { transform:translateY(-2px); background:#fff; border-color:#93bfd3; box-shadow:0 6px 14px #284b610b; color:#203e51; }
.site-footer .footer-socials .footer-social:hover .footer-social-icon { transform:none; background:#d7edf7; }
.site-footer .footer-social-detail { margin-top:3px; color:#668596; font-size:11px; letter-spacing:.025em; }
@media(max-width:540px) { .site-footer .footer-socials { max-width:380px; gap:10px; } .site-footer .footer-socials .footer-social { padding:12px 10px; gap:9px; font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .site-footer .footer-socials .footer-social { transition:none; } .site-footer .footer-socials .footer-social:hover { transform:none; } }
/* Align the brand without the inline baseline gap. */
.site-header .header-row .brand { display:flex; align-items:center; align-self:center; line-height:1; }
.site-header .header-row .custom-logo-link { display:flex; align-items:center; justify-content:center; line-height:1; }
.site-header .header-row .custom-logo { display:block; height:70px; max-height:70px; max-width:210px; width:auto; margin:0; }
@media(max-width:860px) { .site-header .header-row .custom-logo { height:60px; max-height:60px; max-width:112px; } }
.site-footer .footer-logo { margin-bottom:12px; line-height:1; }
.site-footer .footer-logo .custom-logo-link { display:inline-flex; align-items:center; }
.site-footer .footer-logo .custom-logo { display:block; width:auto; height:100px; max-height:100px; max-width:200px; object-fit:contain; }
@media(max-width:540px) { .site-footer .footer-logo .custom-logo { height:88px; max-height:88px; } }/* Simple contact links with circular icons, matching the original footer. */
.site-footer .footer-socials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; }
.site-footer .footer-socials .footer-social,
.site-footer .footer-socials .footer-whatsapp { flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; min-height:40px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#48748d; font-size:13px; }
.site-footer .footer-socials .footer-social-icon { flex:0 0 40px; width:40px; height:40px; border:1px solid #c7dfeb; border-radius:50%; background:#ffffffb3; color:#487b98; }
.site-footer .footer-socials .footer-social-icon svg { width:20px; height:20px; }
.site-footer .footer-socials .footer-social:hover { transform:none; background:transparent; border:0; box-shadow:none; color:#284b61; }
.site-footer .footer-socials .footer-social:hover .footer-social-icon { transform:none; background:#e0f0f8; border-color:#91bdd2; }
.site-footer .footer-social-detail { margin-top:2px; font-size:11px; letter-spacing:0; }
@media(max-width:540px) { .site-footer .footer-socials { gap:14px 20px; } }

.site-footer .footer-navigation li { margin:0; padding:0; }
.site-footer .footer-navigation h2 { margin-bottom:10px; }

.ts-user-dropdown .ts-user-divider { border:0; border-top:1px solid #dcebf3; margin:8px 10px; }
.woocommerce-MyAccount-navigation-link--customer-logout { border-top:1px solid #dcebf3; margin-top:8px; padding-top:8px; }

.ts-user-dropdown a { display:flex; align-items:center; gap:10px; }
.ts-user-dropdown .ts-account-orders::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%205V3h8v2M8%2011h8M8%2016h5%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-account-edit-address::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-account-edit-account::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-account-login::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-account-recover::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22m12%2012%209%209m-3-3%203-3m-6%200%203-3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-account-terms::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H5v20h14V7Zm0%200v5h5M8%2012h8M8%2016h8%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ts-user-dropdown .ts-user-logout::before { content:""; display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203H4v18h5M9%2012h12m-5-5%205%205-5%205%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }

.site-header .ts-user-menu .ts-user-dropdown > a {
 display:flex; flex-direction:row; align-items:center; justify-content:flex-start;
 gap:12px; text-align:left; line-height:1.4; min-height:42px; box-sizing:border-box;
}
.site-header .ts-user-menu .ts-user-dropdown > a::before {
 display:block; flex:0 0 18px; width:18px; height:18px; margin:0; align-self:center;
}
.site-header .ts-user-dropdown .ts-user-display-name{display:block;margin-top:5px;color:#284b61;font-size:14px;font-weight:600;line-height:1.4;text-transform:none;letter-spacing:normal;overflow-wrap:anywhere}

.site-header .ts-user-dropdown .ts-user-identity{padding:8px 12px 5px}.site-header .ts-user-dropdown .ts-user-identity .ts-user-display-name{margin:0}.site-header .ts-user-dropdown .ts-user-role{display:block;margin-top:4px;color:#648599;font-size:12px;line-height:1.4;overflow-wrap:anywhere}

.ts-user-dropdown .ts-account-favoritos::before{content:'';display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.8%204.6a5.5%205.5%200%200%200-7.8%200L12%205.7l-1.1-1.1a5.5%205.5%200%200%200-7.8%207.8L12%2021l8.8-8.6a5.5%205.5%200%200%200%200-7.8Z%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat}

.ts-user-dropdown .ts-account-novedades::before{content:'';display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9M10%2021h4%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat}

/* Semantic snackbars for transient store notices. */
.merida-snackbar-stack{position:fixed;top:24px;right:24px;left:auto;bottom:auto;transform:none;z-index:100000;display:flex;flex-direction:column;gap:10px;width:min(520px,calc(100vw - 28px));max-height:70dvh;overflow:auto;pointer-events:none}
.merida-snackbar{--snack-bg:#eff7fc;--snack-border:#c7dfed;--snack-text:#345f78;display:flex;align-items:flex-start;gap:12px;padding:14px 12px 14px 16px;border:1px solid var(--snack-border);border-radius:16px;background:var(--snack-bg);color:var(--snack-text);box-shadow:0 8px 30px #284b611c;font-size:14px;line-height:1.6;pointer-events:auto;animation:merida-snackbar-in .2s ease-out}
.merida-snackbar--success{--snack-bg:#eef8f1;--snack-border:#b9dfc6;--snack-text:#286447}
.merida-snackbar--warning{--snack-bg:#fff8e9;--snack-border:#edd5a2;--snack-text:#805d21}
.merida-snackbar--error{--snack-bg:#fff1f2;--snack-border:#ebc3c9;--snack-text:#964956}
.merida-snackbar-icon{display:flex;align-items:center;justify-content:center;flex:0 0 24px;height:24px;margin-top:2px;border:1px solid currentColor;border-radius:50%;font-weight:600;font-size:15px}
.merida-snackbar-content{flex:1;min-width:0;overflow-wrap:anywhere}.merida-snackbar-content>li{list-style:none;margin:0 0 4px}.merida-snackbar-content a{color:inherit;text-decoration:underline;font-weight:600}.merida-snackbar-content .button{float:none!important;margin:0 8px 4px 0!important}
.merida-snackbar .merida-snackbar-close{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;margin:-2px 0 0;border:0;border-radius:9px;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}.merida-snackbar-close:hover{background:#00000008}.merida-snackbar-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@keyframes merida-snackbar-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
body.admin-bar .merida-snackbar-stack{top:56px}
@media(max-width:782px){body.admin-bar .merida-snackbar-stack{top:60px}}
@media(max-width:600px){.merida-snackbar-stack{top:calc(14px + env(safe-area-inset-top));right:14px;bottom:auto}.merida-snackbar{font-size:13px}}
@media(prefers-reduced-motion:reduce){.merida-snackbar{animation:none}}
@media print{.merida-snackbar-stack{display:none!important}}
.merida-snackbar{animation:merida-snackbar-arrive .25s ease-out both}
.merida-snackbar.is-leaving{animation:merida-snackbar-leave .22s ease-in both;pointer-events:none}
@keyframes merida-snackbar-arrive{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@keyframes merida-snackbar-leave{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(22px)}}
@media(prefers-reduced-motion:reduce){.merida-snackbar,.merida-snackbar.is-leaving{animation:none}}
.site-header .ts-user-dropdown .ts-menu-push-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:11px 14px;margin:3px 0;border:0;border-radius:10px;background:transparent;color:#426c82;text-align:left;font:inherit;font-size:13px;line-height:1.4;cursor:pointer}.ts-menu-push-toggle svg{flex:0 0 18px}.site-header .ts-user-dropdown .ts-menu-push-toggle:hover{background:#edf7fc}.ts-menu-push-toggle:disabled{opacity:.6;cursor:default}.ts-menu-push-toggle:focus-visible{outline:2px solid #54879f;outline-offset:-2px}
