/* ============================================================
   EL COSTURERO DE RAMONA
   Identidad inspirada en la tarjeta original
   ============================================================ */

:root {
    --costurero-wine: #9f3549;
    --costurero-wine-dark: #783040;
    --costurero-rose: #d78c9c;
    --costurero-pink: #f5dce2;
    --costurero-pink-soft: #fff2f4;
    --costurero-cream: #fffaf5;
    --costurero-sand: #eadfd3;
    --costurero-sage: #aaa98d;
    --costurero-green-soft: #d8d8c5;
    --costurero-text: #5b4149;
    --costurero-text-soft: #78686d;
    --costurero-white: #ffffff;
    --costurero-border: rgba(159, 53, 73, .14);
    --costurero-shadow:
        0 18px 48px rgba(109, 48, 64, .11);
    --costurero-shadow-hover:
        0 26px 62px rgba(109, 48, 64, .17);

    --ramona-rose-dark: var(--costurero-wine-dark);
    --ramona-rose: var(--costurero-wine);
    --ramona-rose-soft: var(--costurero-pink);
    --ramona-rose-powder: var(--costurero-pink-soft);
    --ramona-blush: var(--costurero-pink);
    --ramona-cream: var(--costurero-cream);
    --ramona-lilac: var(--costurero-green-soft);
    --ramona-sand: var(--costurero-sand);
    --ramona-text: var(--costurero-text);
    --ramona-text-soft: var(--costurero-text-soft);
    --ramona-border: var(--costurero-border);
    --ramona-shadow: var(--costurero-shadow);
    --ramona-shadow-hover: var(--costurero-shadow-hover);
}

body {
    background:
        radial-gradient(
            circle at 5% 5%,
            rgba(245, 220, 226, .54),
            transparent 27%
        ),
        radial-gradient(
            circle at 95% 7%,
            rgba(216, 216, 197, .34),
            transparent 24%
        ),
        linear-gradient(
            180deg,
            #fffdfb 0%,
            var(--costurero-cream) 100%
        ) !important;
}

/* ============================================================
   MARCA DE CABECERA
   ============================================================ */

.ramona-brand-logo {
    min-width: 240px;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--costurero-wine-dark) !important;
    text-decoration: none !important;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    line-height: .82;
}

.ramona-brand-logo__top {
    color: var(--costurero-wine-dark) !important;
    font-size: 27px;
    font-weight: 400;
    font-style: italic;
}

.ramona-brand-logo__bottom {
    margin-left: 18px;
    color: var(--costurero-wine) !important;
    font-size: 31px;
    font-weight: 400;
    font-style: italic;
}

.ramona-brand-logo__tagline {
    margin-top: 13px;
    color: #bb7182 !important;
    font-family:
        Inter,
        Arial,
        sans-serif;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .27em;
    line-height: 1.4;
}

.ramona-header,
.site-header,
header.site-header,
#masthead {
    background:
        rgba(255, 250, 247, .91) !important;
    border-bottom:
        1px solid rgba(159, 53, 73, .11) !important;
}

/* ============================================================
   TIPOGRAFÍA Y BOTONES
   ============================================================ */

h1,
h2,
h3,
h4,
h5,
h6,
.ramona-hero__title,
.ramona-page-hero h1,
.woocommerce-loop-product__title {
    color: var(--costurero-wine-dark) !important;
}

button,
input[type="submit"],
input[type="button"],
.wp-element-button,
.button,
a.button,
a.wp-block-button__link,
.ramona-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.add_to_cart_button,
.single_add_to_cart_button {
    background:
        linear-gradient(
            135deg,
            var(--costurero-wine),
            var(--costurero-wine-dark)
        ) !important;
    color: #fff !important;
    box-shadow:
        0 14px 30px rgba(120, 48, 64, .21) !important;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wp-element-button:hover,
.button:hover,
a.button:hover,
.ramona-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background:
        linear-gradient(
            135deg,
            #b44459,
            #823447
        ) !important;
}

/* ============================================================
   HERO CON DETALLES FLORALES Y PUNTILLA
   ============================================================ */

.ramona-hero,
.ramona-page-hero {
    background:
        radial-gradient(
            circle at 4% 10%,
            rgba(215, 140, 156, .30),
            transparent 24%
        ),
        radial-gradient(
            circle at 96% 6%,
            rgba(170, 169, 141, .22),
            transparent 23%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .96),
            rgba(255, 242, 244, .94)
        ) !important;
    border:
        1px solid rgba(159, 53, 73, .12) !important;
}

.ramona-hero::before,
.ramona-page-hero::before {
    background:
        radial-gradient(
            circle at 12px 100%,
            transparent 10px,
            rgba(215, 140, 156, .42) 11px
        )
        bottom left / 24px 14px repeat-x,
        radial-gradient(
            circle at 12px 0,
            transparent 10px,
            rgba(245, 220, 226, .66) 11px
        )
        top left / 24px 14px repeat-x !important;
}

/* ============================================================
   SECCIÓN HISTÓRICA
   ============================================================ */

.ramona-heritage {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background:
        radial-gradient(
            circle at 4% 0,
            rgba(215, 140, 156, .24),
            transparent 28%
        ),
        radial-gradient(
            circle at 98% 100%,
            rgba(170, 169, 141, .18),
            transparent 29%
        ),
        linear-gradient(
            145deg,
            #fffaf7,
            #fff0f3
        );
    border-top:
        1px solid rgba(159, 53, 73, .10);
    border-bottom:
        1px solid rgba(159, 53, 73, .10);
}

.ramona-heritage::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .48;
    background:
        radial-gradient(
            circle at 30px 30px,
            rgba(159, 53, 73, .08) 0 3px,
            transparent 4px
        );
    background-size: 60px 60px;
}

.ramona-heritage__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(320px, .9fr)
        minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(48px, 7vw, 100px);
}

.ramona-heritage__media {
    position: relative;
    min-height: 540px;
    padding: 24px;
    overflow: hidden;
    border:
        1px solid rgba(159, 53, 73, .15);
    border-radius: 50% 50% 44% 44% / 42% 42% 55% 55%;
    background:
        rgba(255, 255, 255, .83);
    box-shadow:
        0 28px 65px rgba(109, 48, 64, .15);
}

.ramona-heritage__image,
.ramona-heritage__placeholder {
    width: 100%;
    height: 100%;
    min-height: 490px;
    display: block;
    border-radius: inherit;
    object-fit: cover;
    object-position: center;
}

.ramona-heritage__image {
    filter:
        sepia(.10)
        saturate(.84)
        contrast(.96)
        brightness(1.04);
}

.ramona-heritage__placeholder {
    display: grid;
    place-items: center;
    background:
        radial-gradient(
            circle at 50% 34%,
            rgba(255, 255, 255, .92),
            transparent 23%
        ),
        radial-gradient(
            circle at 50% 60%,
            rgba(159, 53, 73, .12),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #f8e2e7,
            #e8d8ce
        );
}

.ramona-heritage__placeholder span {
    color:
        rgba(120, 48, 64, .26) !important;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 150px;
    font-style: italic;
}

.ramona-heritage__lace {
    position: absolute;
    inset: 13px;
    border:
        2px dashed rgba(159, 53, 73, .34);
    border-radius: inherit;
    pointer-events: none;
}

.ramona-heritage__eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    color: var(--costurero-wine) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ramona-heritage__content h2 {
    max-width: 720px;
    margin: 0 0 24px;
    color:
        var(--costurero-wine-dark) !important;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size:
        clamp(42px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.035em;
}

.ramona-heritage__content p {
    max-width: 670px;
    margin: 0 0 30px;
    color:
        var(--costurero-text-soft) !important;
    font-size: 18px;
    line-height: 1.82;
}

/* ============================================================
   TARJETAS Y CATEGORÍAS
   ============================================================ */

.ramona-category-card,
.ramona-shop-category,
.woocommerce ul.products li.product {
    border-color:
        rgba(159, 53, 73, .13) !important;
    box-shadow:
        var(--costurero-shadow) !important;
}

.ramona-category-card:hover,
.ramona-shop-category:hover,
.woocommerce ul.products li.product:hover {
    box-shadow:
        var(--costurero-shadow-hover) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.ramona-footer {
    background:
        radial-gradient(
            circle at 10% 0,
            rgba(215, 140, 156, .18),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #542f3a,
            #693744
        ) !important;
}

.ramona-footer__brandmark span,
.ramona-footer__brandmark strong {
    color: #fff !important;
}

.ramona-footer__brandmark small {
    color: #e5a9b6 !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 980px) {
    .ramona-brand-logo {
        min-width: 190px;
    }

    .ramona-brand-logo__top {
        font-size: 23px;
    }

    .ramona-brand-logo__bottom {
        font-size: 27px;
    }

    .ramona-heritage {
        padding: 75px 0;
    }

    .ramona-heritage__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .ramona-heritage__media {
        width: min(100%, 560px);
        min-height: 480px;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .ramona-brand-logo {
        min-width: auto;
    }

    .ramona-brand-logo__top {
        font-size: 20px;
    }

    .ramona-brand-logo__bottom {
        margin-left: 12px;
        font-size: 23px;
    }

    .ramona-brand-logo__tagline {
        display: none;
    }

    .ramona-heritage {
        padding: 58px 0;
    }

    .ramona-heritage__media {
        min-height: 360px;
        padding: 15px;
    }

    .ramona-heritage__image,
    .ramona-heritage__placeholder {
        min-height: 330px;
    }

    .ramona-heritage__content h2 {
        font-size: 39px;
    }

    .ramona-heritage__content p {
        font-size: 16px;
    }
}

/* === TIENDA FULL WIDTH START === */

/* Ancho completo solo en tienda, categorías y etiquetas */
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.woocommerce-page .site-content {
  width: 100% !important;
  max-width: none !important;
}

body.post-type-archive-product .container,
body.tax-product_cat .container,
body.tax-product_tag .container,
body.woocommerce-page .container,
body.post-type-archive-product .wrap,
body.tax-product_cat .wrap,
body.tax-product_tag .wrap,
body.woocommerce-page .wrap,
body.post-type-archive-product .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.woocommerce-page .content-area,
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main,
body.woocommerce-page main {
  width: 100% !important;
  max-width: min(1700px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Quitar anchuras antiguas del grid */
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Anular floats / widths heredados */
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Tarjeta visual más uniforme */
body.post-type-archive-product ul.products li.product .product-inner,
body.tax-product_cat ul.products li.product .product-inner,
body.tax-product_tag ul.products li.product .product-inner,
body.post-type-archive-product ul.products li.product > *,
body.tax-product_cat ul.products li.product > *,
body.tax-product_tag ul.products li.product > * {
  width: 100%;
}

body.post-type-archive-product ul.products li.product img,
body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
}

/* Títulos, precio y botón mejor alineados */
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
  min-height: 3.8em;
}

body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
  margin-top: 8px;
  margin-bottom: 14px;
}

body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {
  margin-top: auto !important;
}

/* Sidebar fuera en tienda si apareciera */
body.post-type-archive-product #secondary,
body.tax-product_cat #secondary,
body.tax-product_tag #secondary {
  display: none !important;
}

/* Responsive */
@media (max-width: 1300px) {
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.post-type-archive-product .container,
  body.tax-product_cat .container,
  body.tax-product_tag .container,
  body.woocommerce-page .container,
  body.post-type-archive-product .wrap,
  body.tax-product_cat .wrap,
  body.tax-product_tag .wrap,
  body.woocommerce-page .wrap,
  body.post-type-archive-product .content-area,
  body.tax-product_cat .content-area,
  body.tax-product_tag .content-area,
  body.woocommerce-page .content-area,
  body.post-type-archive-product main,
  body.tax-product_cat main,
  body.tax-product_tag main,
  body.woocommerce-page main {
    max-width: calc(100vw - 24px) !important;
  }

  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 560px) {
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* === TIENDA FULL WIDTH END === */
