/* ===================================================
   Pragmatyca Feminine Theme
   Tipografía elegante + detalles femeninos
   =================================================== */

/* Fuente elegante para títulos */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Poppins:wght@200;300;400;500;600;700&display=swap');

/* ── Tipografía ── */
h1, h2, h3,
.page-title,
.product-title,
.banner-title,
.heading .title,
.title-lg,
.widget-title {
    font-family: 'Playfair Display', Georgia, serif;
}

body, p, span, a, li, label, input, select, button {
    font-family: 'Poppins', sans-serif;
}

/* ── Paleta rosa refinada ── */
:root {
    --pink-primary:  #e9a0b1;
    --pink-deep:     #c87293;
    --pink-soft:     #fce8f0;
    --pink-blush:    #fdf3f6;
    --text-dark:     #2c1a24;
    --text-mid:      #5c4b53;
}

/* ── Header ── */
.header .header-bottom {
    border-bottom: 2px solid var(--pink-soft);
}

/* ── Sección de fondo suave ── */
.recent-arrivals {
    background-color: var(--pink-blush);
    border-radius: 12px;
    padding: 2.5rem 1.5rem;
    margin-bottom: 2rem;
}

/* ── Títulos de sección con detalle decorativo ── */
.heading .title {
    position: relative;
    display: inline-block;
    padding-bottom: 0.6rem;
    font-style: italic;
    color: var(--text-dark);
    letter-spacing: 0.02em;
}

.heading .title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 55px;
    height: 2px;
    background: linear-gradient(90deg, var(--pink-primary), var(--pink-deep));
    border-radius: 2px;
}

/* ── Tarjetas de producto ── */
.product.product-2 {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(233, 160, 177, 0.08);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.product.product-2:hover {
    box-shadow: 0 8px 28px rgba(200, 114, 147, 0.18);
    transform: translateY(-4px);
}

.product.product-2 .product-media {
    overflow: hidden;
}

.product.product-2 .product-media img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product.product-2:hover .product-media img {
    transform: scale(1.06);
}

.product.product-2 .product-title {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--text-dark);
}

.product.product-2 .product-cat a {
    font-size: 1.05rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pink-deep);
}

/* ── Precio ── */
.product-price {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    color: var(--pink-primary) !important;
}

/* ── Banners de categoría ── */
.banner-content .banner-title {
    font-size: 1.3rem !important;
    letter-spacing: 0.06em;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.banner-overlay::before {
    transition: opacity 0.3s ease;
}

/* ── Icon boxes ── */
.icon-box-card {
    border-radius: 12px;
    border: 1.5px solid #f0d6de;
    transition: all 0.35s ease;
}

.icon-box-card:hover {
    background-color: var(--pink-primary) !important;
    border-color: var(--pink-primary) !important;
    transform: translateY(-3px);
}

.icon-box-card .icon-box-icon {
    font-size: 2.8rem;
    color: var(--pink-primary);
}

.icon-box-card .icon-box-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--text-dark);
}

/* ── Footer ── */
.footer {
    background: linear-gradient(135deg, #1e0f16 0%, #2a1520 60%, #1e0f16 100%) !important;
}

.footer .widget-about p {
    color: #c9a8b3;
    font-size: 1.3rem;
    line-height: 1.8;
}

.footer-copyright {
    color: #9a7582;
    font-size: 1.2rem;
}

/* ── Botones refinados ── */
.btn-primary {
    letter-spacing: 0.05em;
    font-weight: 500;
    border-radius: 25px;
    padding-left: 2.2rem;
    padding-right: 2.2rem;
}

.btn-product.btn-cart {
    letter-spacing: 0.08em;
    font-size: 1.1rem;
}

/* ── Botón "Ver más" ── */
.btn-more {
    border-radius: 25px;
    border-color: var(--pink-primary) !important;
    color: var(--pink-deep) !important;
    letter-spacing: 0.1em;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-more:hover, .btn-more:focus {
    background-color: var(--pink-primary) !important;
    color: #fff !important;
    border-color: var(--pink-primary) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(233, 160, 177, 0.35);
}

/* ── Cart badge ── */
.cart-count {
    background-color: var(--pink-deep) !important;
    font-size: 0.9rem !important;
}

/* ── Scroll top ── */
#scroll-top {
    background-color: var(--pink-primary);
    border-color: var(--pink-primary);
    border-radius: 50%;
    transition: all 0.3s ease;
}

#scroll-top:hover {
    background-color: var(--pink-deep);
    border-color: var(--pink-deep);
    transform: translateY(-3px);
}

/* ── Breadcrumb ── */
.breadcrumb-nav .breadcrumb {
    font-size: 1.2rem;
}

.breadcrumb-item a {
    color: var(--pink-primary);
}

/* ── Page header ── */
.page-header h1 {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    letter-spacing: 0.02em;
}

/* ── Formularios ── */
.form-control:focus {
    border-color: var(--pink-primary);
    box-shadow: 0 0 0 0.2rem rgba(233, 160, 177, 0.2);
}

/* ── Label de promoción ── */
.product-label.label-sale {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 600;
}

/* ── Menú hover ── */
.menu li:hover > a,
.menu li.show > a,
.menu li.active > a {
    color: var(--pink-deep) !important;
}

/* ── Social icons ── */
.social-icon:hover,
.social-icon:focus {
    color: var(--pink-primary) !important;
    border-color: var(--pink-primary) !important;
    transform: scale(1.15);
    transition: all 0.3s ease;
}

/* ── Separador decorativo de secciones ── */
.section-separator {
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--pink-primary), transparent);
    margin: 1.5rem auto;
    border: none;
}

/* ── Un solo tap en mobile ────────────────────────────────────────────
   En dispositivos touch, el 1er tap activa :hover (muestra la barra
   "ver detalle" con z-index:10 tapando el <a> de la imagen) y el 2do
   tap recién navega. Con (hover:none) ocultamos esa superposición:
   el <a> que ya envuelve la imagen funciona con un solo tap directo.  */
@media (hover: none) and (pointer: coarse) {
    .product .product-action {
        display: none !important;
    }

    /* Indicar visualmente que toda la imagen es clickeable */
    .product-media > a {
        display: block;
        -webkit-tap-highlight-color: rgba(233, 160, 177, 0.2);
    }
}

/* ── Responsive ajustes ── */
@media (max-width: 767px) {
    .heading .title {
        font-size: 1.8rem;
    }

    .product.product-2 .product-title {
        font-size: 1.2rem;
    }

    .recent-arrivals {
        border-radius: 0;
        padding: 1.5rem 0.5rem;
    }
}
