:root{
    --primary:#2B2B2B;
    --secondary: #C92C2C;
    --hero-overlay: rgba(26, 77, 104, 0.55);
    --card-start:#2ea3b0; /* turquesa */
    --card-end:#1e88a8;   /* azul */
    --text-70: rgba(255,255,255,.7);
}

a{
    color: var(--card-start);
}

a:hover{
    color: var(--secondary);
    text-decoration: none;
}

.price bdi {
    color: var(--card-start);
    font-size: 2rem;
    font-weight: 500;
}

.site-content {
    margin-top: 114px;
    padding-top: 50px;
    min-height: calc(100vh - 382px);
}

.home .site-content{
    margin-top: 26px;
}

h2.entry-title a {
    text-decoration: none;
    color: #222;
    font-weight: 500;
}

.product_meta, .entry-footer, .otgs-development-site-front-end,.wpml-ls-statics-footer{
    display: none;
}

.woocommerce-product-gallery {
    width: 100% !important;
}

.product-detail form .single_add_to_cart_button.simple-add-cart{
    background-color: var(--card-start) !important;
    color: #fff;
    margin-top: 30px;
}

.btn.btn-default{
    color: var(--card-start);
    border: 1px solid var(--card-start);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .wc-block-components-checkout-place-order-button__text{
    background-color: var(--card-start) !important;
    color: #fff;
}

.wc-block-components-checkout-place-order-button {
    background-color: var(--card-start) !important;
    color: #fff;
    border-radius: 5px;
    border: 1px solid var(--card-start);
}

.woocommerce table.cart td.actions .input-text[name='coupon_code'] {
    width: 120px !important;
}

.wc-block-components-product-details__name {
    font-weight: bold;
}

.error-required{
    color: red;
}

.loading {
    z-index: 10000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,.3);
    color: #FFF;
}
    .loading > div {
        display: table;
        width: 100%;
        height: 100vh;
    }
        .loading > div > div {
            display: table-cell;
            vertical-align: middle;
            text-align: center;
        }


.product-detail form .single_add_to_cart_button.simple-add-cart:hover,
.product-detail form .single_add_to_cart_button.simple-add-cart:focus{
    background-color: var(--card-end) !important;
    color: #fff;
}
  
  /* Navbar */
.bg-primary-242{ background-color: var(--primary) !important; }
.site-header .navbar{ box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.site-title{ color:#fff; font-weight:600; }
.navbar .nav-link{ color:#fff; }
.navbar .nav-link:hover{ opacity:.85; }
.cart-link{ font-size:1.1rem; }
.cart-count{
    position: absolute;
    top: 2px;
    right: -6px;
    font-size: .7rem;
    border-radius: 10px;
    padding: .15rem .35rem;
    background: rgba(200, 200, 200, 0.3);
}

#form-ticket .input-group-text{
    border-radius: 5px 0 0 5px !important;
    height: 100%;
}
  
/* Hero */
.hero{
    position:relative;
    min-height: calc(100vh - 343px);
    background-size: cover;
    background-position: center;
    padding-top: 96px; /* espacio por navbar fija */
    padding-bottom: 56px;
}
.hero .overlay{
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.25)), var(--hero-overlay);
    mix-blend-mode: multiply;
}
.hero .container{ position:relative; z-index:2; }
.hero-title{ text-shadow: 0 3px 12px rgba(0,0,0,.35); }
.hero-subtitle{ color: var(--text-70); }
  
  /* Pricing */
.pricing{ background: #0f1b22; background: linear-gradient(180deg, rgba(15,27,34,0.25), rgba(15,27,34,0.25)); }
.text-white-70{ color: var(--text-70); }
  
.pricing-card{
    color:#fff;
    background: linear-gradient(135deg, rgba(46,163,176,.92), rgba(30,136,168,.92));
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(0,0,0,.35);
    position:relative;
}
.pricing-card.glass{
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.pricing-card .price{ letter-spacing:.5px; }
.pricing-card .sep{
    border:0; border-top: 1px solid rgba(255,255,255,.35);
    margin: .75rem auto; width: 75%;
}
.pricing-card a.underline{ text-decoration: underline; }
.btn.btn-light{
    color: var(--primary);
    font-weight:600;
    border-radius: .35rem;
    box-shadow: 0 6px 16px rgba(0,0,0,.2);
}
.btn.btn-light:hover{ color:#000; }

/* Helpers */
.rounded-lg{ border-radius: .6rem; }

.navbar-brand img{
    margin-right: 10px;
}

h2.wp-block-heading, h3.footer-title{
    font-size: 1.5rem;
    font-weight: 500 !important;
}

/* Language switcher */
.lang-switcher{ margin-left: .5rem; }
.lang-switcher .nav-link{ color:#fff; }
.lang-switcher .nav-link:hover{ opacity:.85; }
.lang-flag{ width:18px; height:auto; border-radius:2px; }
.lang-label{ font-size:.9rem; letter-spacing:.5px; }

/* Ajuste de separación entre icono carrito y selector */
.navbar-nav .nav-item + .nav-item{ margin-left:.5rem; }

/* Dropdown: que se vea bien en tema oscuro */
.lang-switcher .dropdown-menu{
    min-width: 180px;
    border-radius:.25rem;
    box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.lang-switcher .dropdown-item{ font-size:.95rem; }

.btn.btn-order {
    background: var(--card-start);
    color: #fff;
    padding: 20px 40px;
}

#validateMail .back-form{
    background: #666;
    border:1px solid #666;
    color: #fff;
}

#validateMail .validate-mail{
    background: var(--card-start);
    border:1px solid var(--card-start);
    color: #fff;
}

#validateMail input.error{
    border: 1px solid red;
}

#validateMail .content-code {
    text-align: center;
}

#validateMail input {
    border: 1px solid #666;
    margin: auto;
    display: inline-block;
    width: 100px;
    padding: 5px 10px;
    text-align: center;
    font-weight: bold;
    outline: none !important;
}

#validateMail span.resend {
    width: 100%;
    display: block;
    margin-top: 10px;
    font-size: 0.8rem;
    cursor: pointer;
    color: #3bafda;
}

#validateMail span.error.error-code {
    color: #ed3c0d;
}

#validateMail span.success.send-message {
    font-size: 0.9rem;
}

.shop_table.cart input[name='update_cart']{
    display: none;
}

/* Responsive ajustes */
@media (max-width: 991.98px){
    .hero{ min-height: 48vh; }
    .hero-title{ font-size: 2rem; }
    .lang-switcher .dropdown-menu{ width:100%; }
}
@media (max-width: 575.98px){
    .pricing-card .sep{ width: 85%; }
    .hero{ padding-top: 88px; }
}