:root {
    --tmp-site-offer-height: 46px;
    --tmp-green: #74c23e;
    --tmp-green-dark: #173f34;
    --tmp-ink: #101815;
    --tmp-muted: #66736d;
    --tmp-line: #dce5e0;
    --tmp-surface: #f4f8f5;
    --tmp-white: #fff;
}

.tmp-site-offer {
    position: sticky;
    top: 0;
    z-index: 9999;
    width: 100%;
    color: #fff;
    background: var(--tmp-green-dark);
    box-shadow: 0 2px 10px rgba(16, 24, 21, .16);
}

.admin-bar .tmp-site-offer {
    top: 32px;
}

/* Keep Blocksy's sticky navigation directly below the persistent offer bar. */
body .ct-sticky-container > [data-sticky="yes:shrink"] {
    top: var(--tmp-site-offer-height) !important;
}

.admin-bar .ct-sticky-container > [data-sticky="yes:shrink"] {
    top: calc(32px + var(--tmp-site-offer-height)) !important;
}

.tmp-site-offer__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 46px;
    max-width: 1220px;
    margin: 0 auto;
    padding: 8px 20px;
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}

.tmp-site-offer__link:hover,
.tmp-site-offer__link:focus-visible {
    color: #fff;
}

.tmp-site-offer__link:focus-visible {
    outline: 3px solid #fff36c;
    outline-offset: -3px;
}

.tmp-site-offer__gift {
    font-size: 21px;
    line-height: 1;
}

.tmp-site-offer__copy {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tmp-site-offer__copy strong {
    color: #fff36c;
    font-size: 15px;
    font-weight: 900;
}

.tmp-site-offer__copy b {
    color: #fff36c;
    letter-spacing: .04em;
}

.tmp-site-offer__separator {
    color: var(--tmp-green);
    font-size: 20px;
    font-weight: 900;
}

.tmp-site-offer__cta {
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .32);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

@media (max-width: 620px) {
    .tmp-site-offer__link {
        gap: 8px;
        min-height: 54px;
        padding: 7px 12px;
    }

    .tmp-site-offer__copy {
        display: block;
        text-align: left;
    }

    .tmp-site-offer__copy strong,
    .tmp-site-offer__copy > span:last-child {
        display: block;
    }

    .tmp-site-offer__separator,
    .tmp-site-offer__cta {
        display: none;
    }
}

/* Shared palette; keep links dark enough to read on pale surfaces. */
body.tmp-site-design{--theme-palette-color-1:#245343;--theme-palette-color-2:#173f34;--theme-link-initial-color:#245343;--theme-link-hover-color:#9b4800;--theme-button-background-initial-color:#ff941f;--theme-button-background-hover-color:#ffbd70;--theme-button-text-initial-color:#172d24;--theme-button-text-hover-color:#172d24;--tmp-green:#ff941f;background:#f4f6f3;color:#172d24}
.tmp-site-design main :is(.button,button[type=submit],.wp-block-button__link,.wpforms-submit),.tmp-site-design .tmp-mobile-sticky a{background:#ff941f!important;color:#172d24!important;border-color:transparent!important;border-radius:10px!important;font-weight:700;box-shadow:none!important;transition:background-color .18s}
.tmp-site-design main :is(.button,button[type=submit],.wp-block-button__link,.wpforms-submit):hover{background:#ffbd70!important;color:#172d24!important}
.tmp-site-design main :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]),select,textarea){border-color:#cbd8cf;border-radius:10px;background-color:#fff;box-shadow:none;max-width:100%}
.tmp-site-design :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b75500;outline-offset:3px}
.tmp-site-design main :is(h1,h2,h3){color:#172d24;letter-spacing:-.035em}
.tmp-site-design main h1{font-size:clamp(30px,3.5vw,48px);line-height:1.12}
.tmp-site-design footer{background:#173f34!important;color:#e5eee8;--theme-link-initial-color:#e5eee8;--theme-link-hover-color:#ffbd70;--theme-text-color:#e5eee8}
.tmp-site-design footer :is(a,p,li,.ct-menu-link){color:#e5eee8!important}
.tmp-site-design footer a:hover{color:#ffbd70!important}
.tmp-site-design footer [data-row]{border-color:#ffffff24!important}
/* One card style and centered incomplete rows, including related items. */
.tmp-unified-catalog ul.products{display:flex!important;flex-wrap:wrap;justify-content:center;gap:24px!important}
.tmp-unified-catalog ul.products>li.tmp-cd-loop-item{display:block!important;flex:0 0 calc((100% - 72px)/4);max-width:calc((100% - 72px)/4);padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}
.tmp-unified-catalog .tmp-cd-card{height:100%;box-shadow:none;text-align:center}
.tmp-unified-catalog .tmp-cd-photo{padding:20px!important}
.tmp-unified-catalog .tmp-cd-photo img{object-fit:contain!important;aspect-ratio:1;width:100%;height:100%}
.tmp-unified-catalog .tmp-cd-swatches,.tmp-unified-catalog .tmp-cd-price{justify-content:center}
.tmp-unified-catalog .tmp-cd-card h3{text-align:center;font-size:16px!important;line-height:1.4!important}
.tmp-unified-catalog .tmp-cd-card .tmp-cd-cart{background:#ff941f!important;color:#172d24!important;border-radius:50%!important;min-width:44px;min-height:44px}
.tmp-unified-catalog .tmp-cd-card .tmp-cd-cart:hover{background:#ffbd70!important}
.tmp-site-design .tmp-cd-hero h1{color:#fff}
.tmp-unified-catalog:not(.single-product):not(.tmp-maintenance-design) .tmp-shop-intro{background:#354c32;color:#e5eee8;text-align:center;width:100vw;max-width:none;margin:0 calc(50% - 50vw) 40px;padding:52px max(24px,calc((100vw - 1000px)/2)) 72px;border-radius:0 0 62% 38% / 0 0 60px 45px}
.tmp-unified-catalog .tmp-shop-intro :is(h1,h2,p){color:inherit}
.tmp-unified-catalog .tmp-shop-intro p{margin-left:auto;margin-right:auto;max-width:720px}
/* Existing help content, new full-width curved banners. */
.tmp-site-design :is(.tmp-contact-shell,.tmp-faq-shell){background:transparent!important;padding-top:0!important}
.tmp-site-design :is(.tmp-contact-hero,.tmp-faq-hero){background:#354c32!important;color:#e5eee8!important;border:0!important;box-shadow:none!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw) 40px!important;padding:44px max(24px,calc((100vw - 1080px)/2)) 68px!important;border-radius:0 0 62% 38% / 0 0 60px 45px!important}
.tmp-site-design :is(.tmp-contact-hero,.tmp-faq-hero) :is(h1,p,strong){color:#fff!important}
.tmp-site-design :is(.tmp-contact-lead,.tmp-faq-lead){max-width:720px!important;font-size:17px!important;line-height:1.65!important;margin:18px auto!important}
.tmp-site-design :is(.tmp-contact-eyebrow,.tmp-faq-eyebrow){font-size:11px!important;letter-spacing:.12em;color:#ffd59f!important}
.tmp-site-design :is(.tmp-contact-hero-metrics,.tmp-faq-intro-cards){margin-top:24px!important;gap:12px!important}
.tmp-site-design :is(.tmp-contact-hero-metrics,.tmp-faq-intro-cards)>.wp-block-column{background:#ffffff0d!important;border:1px solid #ffffff30!important;border-radius:12px!important;padding:16px!important;box-shadow:none!important}
.tmp-site-design :is(.tmp-contact-card,.tmp-faq-section,.tmp-faq-item,.tmp-faq-official){background:#fff!important;border:1px solid #dce5df!important;border-radius:16px!important;box-shadow:none!important}
.tmp-site-design .tmp-faq-item{margin:12px 0;padding:18px!important}
.tmp-site-design .tmp-faq-item summary{cursor:pointer;line-height:1.5}
.tmp-site-design .tmp-faq-item[open]{border-color:#ff941f!important}
.tmp-site-design :is(.tmp-contact-cta,.tmp-faq-cta){background:#e8eee6!important;border-radius:20px!important;box-shadow:none!important}
/* Reading pages: measured column, coherent headings and quieter spacing. */
.tmp-reading-page main .entry-content{max-width:800px!important;margin-left:auto!important;margin-right:auto!important;font-size:17px;line-height:1.8;padding-bottom:48px}
.tmp-reading-page main .entry-content>:is(h1,h2,h3){margin-top:1.7em;margin-bottom:.7em;line-height:1.2}
.tmp-reading-page main .entry-content>h1:first-child{margin-top:0}
.tmp-reading-page main h2{font-size:clamp(25px,2.5vw,32px)}
.tmp-reading-page main .hero-section{background:#e8eee6;padding:40px 24px;border-radius:0 0 36px 36px;margin-bottom:36px}
.tmp-reading-page main .entry-content a:not(.button):not(.wp-block-button__link){text-underline-offset:4px}
.tmp-reading-page main :is(blockquote,.wp-block-table){background:#fff;border-radius:14px;padding:20px;border-left:4px solid #ff941f}
/* Account, tracking, basket and checkout share clear white panels. */
.tmp-site-design :is(.woocommerce-cart-form,.cart_totals,.woocommerce-checkout,.woocommerce-account .woocommerce,.woocommerce-order-tracking){background:none!important;box-shadow:none!important}
.tmp-site-design :is(.woocommerce-cart,.woocommerce-checkout) .entry-content{max-width:1240px!important}
.tmp-site-design .woocommerce-cart-form table,.tmp-site-design .cart_totals,.tmp-site-design .woocommerce-billing-fields,.tmp-site-design #order_review,.tmp-site-design form.login,.tmp-site-design form.register,.tmp-site-design .woocommerce-order-tracking{background:#fff!important;border:1px solid #dce5df!important;border-radius:18px!important;box-shadow:none!important;padding:24px!important}
.tmp-site-design .woocommerce-order-tracking{max-width:680px;margin:32px auto}
.tmp-site-design .woocommerce-account .entry-content{max-width:1080px!important;margin:auto}
.tmp-site-design .woocommerce .form-row label{font-size:14px;font-weight:650;color:#172d24}
.tmp-site-design .woocommerce table .amount{white-space:nowrap}
.tmp-site-design .woocommerce :is(.quantity,input.qty){border-color:#cbd8cf!important}
.tmp-site-design .woocommerce .quantity{border-radius:8px}
/* Purchase landing: retain the actual Woo form and all upload fields. */
.tmp-buy-page .tmp-buy-content{max-width:1200px;margin:auto}
.tmp-buy-page .tmp-buy-content>h2:first-child{text-align:center;font-size:clamp(30px,3.5vw,46px);margin:24px auto}
.tmp-buy-page .tmp-buy-content>blockquote{max-width:780px;margin:0 auto 32px;border:0;text-align:center;font-size:16px}
.tmp-buy-page .tmp-buy-content>.wp-block-group{max-width:none!important}
.tmp-buy-page .woocommerce .product-entry-wrapper{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}
.tmp-buy-page .woocommerce-product-gallery,.tmp-buy-page .summary{width:auto!important;float:none!important;margin:0!important;min-width:0}
.tmp-buy-page .woocommerce-product-gallery img{max-height:520px;object-fit:contain}
.tmp-buy-page .summary{background:#fff;padding:24px;border:1px solid #dce5df;border-radius:18px}
.tmp-buy-page .product_title{font-size:28px!important}
.tmp-buy-page .tmp-product-complements{margin-top:28px}
.tmp-site-design #comprarmatricula .tmp-product-specs{padding:16px!important}
.tmp-site-design #comprarmatricula .tmp-product-specs h2{font-size:21px!important}
@media(min-width:1101px){.tmp-site-design #comprarmatricula .product{grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr) minmax(260px,.8fr)!important;gap:24px!important}}
@media(max-width:1000px){.tmp-unified-catalog ul.products>li.tmp-cd-loop-item{flex-basis:calc((100% - 48px)/3);max-width:calc((100% - 48px)/3)}}
@media(max-width:767px){
 .tmp-unified-catalog ul.products{gap:12px!important}.tmp-unified-catalog ul.products>li.tmp-cd-loop-item{flex-basis:calc((100% - 12px)/2);max-width:calc((100% - 12px)/2)}
 .tmp-unified-catalog .tmp-cd-card h3{font-size:13px!important}.tmp-unified-catalog .tmp-cd-photo{padding:14px!important}
 .tmp-site-design :is(.tmp-contact-hero,.tmp-faq-hero){padding:32px 24px 48px!important;border-radius:0 0 62% 38% / 0 0 34px 26px!important}
 .tmp-site-design :is(.tmp-contact-hero-metrics,.tmp-faq-intro-cards){display:grid!important;grid-template-columns:1fr;gap:8px!important}
 .tmp-site-design :is(.tmp-contact-lead,.tmp-faq-lead){font-size:15px!important}
 .tmp-site-design.woocommerce-cart main .ct-container,.tmp-site-design.woocommerce-checkout main .ct-container{width:calc(100% - 32px)!important;max-width:none!important;padding:24px 0!important}
 .tmp-site-design.woocommerce-cart .entry-content,.tmp-site-design.woocommerce-checkout .entry-content,.tmp-site-design.woocommerce-cart .woocommerce,.tmp-site-design.woocommerce-checkout .woocommerce{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
 .tmp-site-design form.checkout,.tmp-site-design #customer_details,.tmp-site-design #order_review{display:block!important;width:100%!important;float:none!important;margin:0 0 20px!important;padding:16px!important}
 .tmp-site-design form.checkout{padding:0!important}
 .tmp-site-design .woocommerce-billing-fields{padding:16px!important}.tmp-site-design #customer_details{padding:0!important}
 .tmp-site-design .woocommerce .form-row{width:100%!important;float:none!important;padding:0!important}
 .tmp-site-design .woocommerce-cart-form table{display:block;padding:16px!important}
 .tmp-site-design .woocommerce-cart-form table thead{display:none!important}
 .tmp-site-design .woocommerce-cart-form table tbody{display:block}
 .tmp-site-design .woocommerce-cart-form tr.cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) 28px;gap:12px;padding:0 0 20px;margin-bottom:16px}
 .tmp-site-design .woocommerce-cart-form tr.cart_item>*{display:block!important;padding:0!important;width:auto!important;border:0!important;text-align:left!important}
 .tmp-site-design .woocommerce-cart-form .product-thumbnail{grid-column:1;grid-row:1 / 3}
 .tmp-site-design .woocommerce-cart-form .product-name{grid-column:2;grid-row:1}
 .tmp-site-design .woocommerce-cart-form .product-quantity{grid-column:2;grid-row:2}
 .tmp-site-design .woocommerce-cart-form .product-subtotal{grid-column:2;grid-row:3}
 .tmp-site-design .woocommerce-cart-form .product-remove{grid-column:3;grid-row:1}
 .tmp-site-design .woocommerce-cart-form td:before{display:none!important}
 .tmp-site-design .woocommerce-cart-form tbody>tr:not(.cart_item),.tmp-site-design .woocommerce-cart-form td.actions{display:block!important;width:100%!important;padding:0!important}
 .tmp-site-design .woocommerce-cart-form .coupon{display:flex!important;flex-wrap:wrap;gap:8px;width:100%}
 .tmp-site-design .woocommerce-cart-form .coupon>*{width:100%!important}
 .tmp-site-design .cart_totals{padding:18px!important;width:100%!important}
 .tmp-buy-page .woocommerce .product-entry-wrapper{display:block}.tmp-buy-page .summary{padding:18px;margin-top:24px!important}
 .tmp-reading-page main .entry-content{font-size:16px;padding:0 8px 32px}
}
@media(prefers-reduced-motion:reduce){.tmp-site-design *{scroll-behavior:auto!important}}
.tmp-site-design header .current-menu-item>.ct-menu-link,.tmp-site-design header .ct-menu-link:hover{color:#ffbd70!important}
.tmp-unified-catalog .tmp-shop-intro .tmp-safety-kicker{color:#ffd59f!important}
.tmp-unified-catalog:not(.single-product) main{padding-top:0!important}
.tmp-buy-page main{padding:32px max(20px,calc((100vw - 1200px)/2))!important}
.tmp-buy-page main>.ct-container{width:100%;max-width:none}
.tmp-buy-page main blockquote{max-width:800px;margin:20px auto 32px;border:0;font-size:16px;text-align:center}
.tmp-buy-page main>.ct-container>h2,.tmp-buy-page main .woocommerce-products-header h2{font-size:clamp(28px,3vw,42px)}
.tmp-buy-page main .woocommerce-product-gallery{max-width:100%;background:#fff;border-radius:20px;overflow:hidden}
.tmp-buy-page main .product_title{font-size:30px!important;line-height:1.15}
.tmp-site-design .woocommerce-cart-form .product-name .quantity{display:none!important}
.tmp-site-design.woocommerce-cart .entry-content>.wp-block-columns,.tmp-site-design.woocommerce-checkout .entry-content>.wp-block-columns{max-width:1240px!important;margin:0 auto!important;padding:32px!important}
.tmp-site-design [class*="sticky"] a[href="#comprarmatricula"]{background:#ff941f!important;color:#172d24!important}
@media(max-width:767px){
 .tmp-site-design.woocommerce-cart .entry-content>.wp-block-columns,.tmp-site-design.woocommerce-checkout .entry-content>.wp-block-columns{padding:16px!important;width:100%!important;margin:0!important}
 .tmp-buy-page .woocommerce-product-gallery img{max-height:340px}
 .tmp-site-design.woocommerce-cart main,.tmp-site-design.woocommerce-checkout main{padding-top:8px!important}
}
.tmp-site-design.woocommerce-cart .entry-content>.wp-block-group{max-width:1240px!important;margin:0 auto!important;padding:32px!important}
.tmp-site-design .woocommerce-cart-form .product-mobile-actions{display:none!important}
@media(max-width:767px){.tmp-site-design.woocommerce-cart .entry-content>.wp-block-group{padding:16px!important;width:100%!important;margin:0!important}}


.tmp-site-design .tmp-mobile-cta a{background:#ff941f!important;color:#172d24!important}
@media(max-width:782px){:root{--tmp-site-offer-height:54px}}
.tmp-site-design.woocommerce-account .ct-woo-unauthorized{display:block!important;width:calc(100% - 32px)!important;max-width:1080px!important;margin:0 auto!important}
.tmp-site-design.woocommerce-account #customer_login{width:100%!important;margin:0 auto!important;grid-column:1/-1!important}
.tmp-site-design.woocommerce-account #customer_login>.col-1,.tmp-site-design.woocommerce-account #customer_login>.col-2{min-width:0}

.tmp-header-search { position: relative; display: flex; align-items: center; }
.tmp-header-search__toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 10px; border: 0; color: #fff; background: transparent; font-size: 12px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.tmp-header-search__toggle span { font-size: 25px; font-weight: 400; line-height: 1; transform: rotate(-20deg); }
.tmp-header-search__panel { position: absolute; z-index: 10020; top: calc(100% + 18px); right: 0; box-sizing: border-box; width: min(430px, calc(100vw - 28px)); padding: 18px; border: 1px solid var(--tmp-line); border-radius: 16px; color: var(--tmp-ink); background: #fff; box-shadow: 0 20px 55px rgba(8, 25, 20, .2); }
.tmp-header-search__panel[hidden] { display: none; }
.tmp-header-search__panel label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 800; }
.tmp-header-search__panel form > div { display: flex; }
.tmp-header-search__panel input[type="search"] { min-width: 0; height: 46px; flex: 1; padding: 0 13px; border: 1px solid #cbd8d1; border-radius: 10px 0 0 10px; background: #fff; font-size: 15px; }
.tmp-header-search__panel form button { min-height: 46px; padding: 0 16px; border: 0; border-radius: 0 10px 10px 0; color: #10200c; background: var(--tmp-green); font-weight: 900; }
.tmp-header-search__results { display: grid; gap: 3px; max-height: 390px; margin-top: 10px; overflow: auto; }
.tmp-header-search__results > p { margin: 12px 4px 2px; color: var(--tmp-muted); font-size: 13px; }
.tmp-header-search__results a { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 11px; padding: 8px; border-radius: 10px; color: var(--tmp-ink); text-decoration: none; }
.tmp-header-search__results a:hover { background: var(--tmp-surface); }
.tmp-header-search__results img { width: 54px; height: 54px; border-radius: 8px; object-fit: contain; background: #fff; }
.tmp-header-search__results strong, .tmp-header-search__results small { display: block; }
.tmp-header-search__results strong { font-size: 13px; line-height: 1.25; }
.tmp-header-search__results small { margin-top: 3px; color: var(--tmp-green-dark); font-weight: 900; }

@media (max-width: 999px) {
    .tmp-header-search__toggle b { display: none; }
    .tmp-header-search__panel { position: fixed; top: calc(var(--tmp-site-offer-height) + 74px); right: 14px; left: 14px; width: auto; }
}
