/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/

.woocommerce-js div.product form.cart .variations {
    border-bottom: none !important;
}

.woocommerce-js div.product form.cart table {
    border-width: 0 0 0;
}

.woocommerce-variation-price {
    text-align: left;
    margin-top: 1.5rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: #333;
}

.woocommerce-variation-price .price {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
}

.woocommerce-variation-price .price::before {
    content: "Total:  ";
    font-size: 1rem;
    font-weight: 500;
    color: #666;
}

.woocommerce-product-details__short-description > p {
    font-size: 14px !important;
}

.button-home-link-detail {
    text-align: center;
}

.elementor-widget-container {
    border-right: 0 !important;
    border-width: 0 !important;
    padding-right: 0;
}

.e-n-accordion-item-title-text{
    font-size: 1.25rem !important;
}

.faqs h3.e-n-accordion-item-title-text{
    font-size: 1.3rem !important;
}

.faqs .elementor-widget-container {
    font-size: 16px;
}

.pdp-accord-hm {
    margin-top:.9rem;
}

.pdp-accord-hm summary {
    list-style:none; cursor:pointer; padding:.65rem 0 .65rem 1.6rem; /* espacio para el icono */
    display:flex; align-items:center; justify-content:space-between;
    font-weight:700; letter-spacing:.02em; color:#111827; text-transform:uppercase;
    position:relative;
}

.pdp-accord-hm summary::marker {
    content:"";
}
.pdp-accord-hm summary::-webkit-details-marker {
    display:none;
}

.pdp-accord-hm summary::before {
    content:"+"; position:absolute; left:0; top:50%; transform:translateY(-50%);
    font-size:1.25rem; line-height:1; color:#6b7280;
}

.pdp-accord-hm[open] summary::before {
    content:"–";
}

.pdp-accord-hm .accord-body {
    padding:.6rem 0 0; color:#374151; line-height:1.65;
}

.pdp-accord-hm .accord-block {
    margin-bottom:.75rem;
}

.pdp-accord-hm h4 {
    margin:.15rem 0 .35rem; font-weight:600; font-size:.95rem; color:#111827;
}

.pdp-accord-hm .ticks {
    list-style:none; margin:0; padding:0; display:grid; gap:.4rem;
}

.pdp-accord-hm .ticks li {
    position:relative; padding-left:1.4rem;
}

.pdp-accord-hm .ticks li::before {
    content:"✓"; position:absolute; left:0; top:0; font-weight:700; color:#111827;
}

.gs-ribbon{
    display:flex; align-items:center; justify-content:center; gap:.65rem;
    background:#f7e29f; /* amarillo suave */
    color:#111; border-bottom:1px solid rgba(0,0,0,.08);
    padding:.45rem .75rem; font-size:.95rem; line-height:1; z-index:50;
}
.gs-ribbon.is-hidden{ display:none; }
.gs-ribbon .ico{ opacity:.85; }
.gs-ribbon .msg strong{ font-weight:700; }
.gs-ribbon .link{ color:inherit; text-decoration:underline; opacity:.85; }
.gs-ribbon .close{
    margin-left:.5rem; background:transparent; border:0; cursor:pointer;
    color:#555; font-size:1.1rem; line-height:1;
}

header.is-sticky + .gs-ribbon, .site-header.is-sticky + .gs-ribbon{
    position:sticky; top:0;
}

@media (max-width:640px){
    .gs-ribbon{ font-size:.9rem; padding:.4rem .6rem; }
    .gs-ribbon .link{ display:none; }
}

.hero-450 .hero-450__img img{
    width: 100%;
    height: 450px;
    display: block;
    object-fit: cover;
    object-position: center 90%;
}

.hero-450 .elementor-widget-heading,
.hero-450 .elementor-widget-button{
    position: absolute;
    inset: 0;
    display: flex; align-items: center; justify-content: center;
    z-index: 2; pointer-events: none; /* opcional */
}

/* Por si el botón hereda el none de algún sitio */
.hero-450 .elementor-widget-button .elementor-button{
    pointer-events: auto !important;
}

.hero-450::before{
    pointer-events: none !important;
    z-index:1;
}

.shopIntroTitle {
    color: #4d4f48;
}

.shopIntroTitle h2 {
    margin: 0 0 2.7rem;
    color: #4d4f48;
    font-size: 1.2rem;
}

.shopIntroCopy {
    color: #4d4f48;
}

.shopIntroCopy p {
    border-left: 4px solid #d1fae5;
    padding-left: .75rem;
    margin: 1rem 0 0;
    color: #4b5563;
    font-style: italic;
}

.woocommerce-products-header__title {
    font-size: 3rem !important;
    margin-bottom: 0.5rem
}

.faq-acc{
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 100px;
}
.faq-acc__title{
    color: #141A0F;
}

.faq-acc__grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px 32px;
}
@media (min-width: 980px){
    .faq-acc__grid{ grid-template-columns: 1fr 1fr; }
}

/* item y summary */
.faq-acc__item{
    border: 0;
    background: transparent;
    border-radius: 8px;
    overflow: hidden;
}
.faq-acc__item summary{
    list-style: none;
    cursor: pointer;
    position: relative;
    padding: 10px;
}
.faq-acc__item summary::-webkit-details-marker{ display:none; }

.faq-acc__q{
    color: #141A0F;
    font-size: 21px;
    padding-left: 15px;
    font-size: 1.3rem !important;
}

.faq-acc__item summary::before{
    content: "+";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    line-height: 1;
    font-size: 28px;
    color: #1f2124;
}
.faq-acc__item[open] summary::before{
    content: "–";
}

.faq-acc__answer{
    padding: 6px 0 0;
    color: #374151;
    font-size: 16px;
    line-height: 1.5;
}

.cat-description {
    font-family:'DM Sans', sans-serif !important;
    font-weight:400;
    font-size:15px;
    color: #4d4f48;
    line-height:1.65em;
    padding-top: 10px;
}

.h2-inline{
    display:inline !important;
    font-family:'DM Sans', sans-serif !important;
    font-weight:400;
    font-size:inherit;
    color: #4d4f48;
    line-height:1.65em;
}

.br-before::before{
    content:"";
    display:block;
    margin-top:1.0rem;
}

.br-before::after{
    content:"";
    display:block;
}

.br-after::after{
    content:"";
    display:block;
    margin-bottom:1.0rem;
}
