/* ============================================================
   Platos Perú — Estilos base comunes
   Reset + estilos compartidos de nav (header) y footer.
   Extraído del <style> repetido en cada página del diseño.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#0f1a2e;font-family:'Montserrat',sans-serif;color:#faf8f4}
a{color:inherit;text-decoration:none}
button{font-family:'Montserrat',sans-serif;cursor:pointer}
img{display:block}

/* --- NAV (header.php) --- */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background 0.4s,box-shadow 0.4s}
#nav.scrolled{background:rgba(7,14,28,0.97);backdrop-filter:blur(12px);box-shadow:0 2px 24px rgba(0,0,0,0.4)}

.nl{font-size:11px;font-weight:600;letter-spacing:0.14em;color:rgba(255,255,255,0.65);text-transform:uppercase;transition:color 0.2s}
.nl:hover,.nl.active{color:#c9941a}

.dropdown{position:relative;display:flex;align-items:center}
.dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:rgba(6,13,26,0.98);border:1px solid rgba(201,148,26,0.18);border-radius:2px;padding:8px 0;min-width:230px;opacity:0;visibility:hidden;transition:opacity 0.2s 0.12s,visibility 0.2s 0.12s;pointer-events:none;z-index:300;box-shadow:0 16px 48px rgba(0,0,0,0.7)}
.dropdown-menu::before{content:'';position:absolute;top:-16px;left:0;right:0;height:16px}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 0.15s,visibility 0.15s}
.dropdown-sep{height:1px;background:rgba(255,255,255,0.06);margin:6px 0}
.dropdown-label{display:block;padding:6px 20px 4px;font-size:9px;font-weight:700;letter-spacing:0.2em;color:rgba(201,148,26,0.5);text-transform:uppercase}
.dropdown-item{display:block;padding:9px 20px 9px 22px;font-size:11px;font-weight:500;letter-spacing:0.08em;color:rgba(255,255,255,0.55);text-transform:uppercase;white-space:nowrap;transition:color 0.2s,background 0.2s;border-left:2px solid transparent}
.dropdown-item:hover{color:#c9941a;background:rgba(201,148,26,0.05);border-left-color:#c9941a}
.dropdown-trigger{cursor:default;user-select:none;display:flex;align-items:center;gap:5px}

/* --- FOOTER (footer.php) --- */
.fl{font-size:13px;font-weight:300;color:rgba(255,255,255,0.45);transition:color 0.2s}
.fl:hover{color:#c9941a}

/* --- Tarjeta de producto (páginas de alquiler) --- */
.prod-card{background:#0a1220;border:1px solid rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;transition:border-color 0.25s,transform 0.25s;cursor:pointer;display:block}
.prod-card:hover{border-color:rgba(201,148,26,0.4);transform:translateY(-4px)}
.prod-card img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block}

/* --- Miniaturas de la galería en la ficha de producto --- */
.thumb{border:2px solid transparent;border-radius:2px;overflow:hidden;cursor:pointer;transition:border-color 0.2s}
.thumb:hover,.thumb.active{border-color:#c9941a}
.thumb img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block}

/* --- Contenido de la descripción del producto (salida de the_content) --- */
.prod-descripcion > *:first-child{margin-top:0}
.prod-descripcion p{margin-bottom:16px}
.prod-descripcion ul,.prod-descripcion ol{padding-left:22px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}
.prod-descripcion ul{list-style:disc}
.prod-descripcion ol{list-style:decimal}
.prod-descripcion li{line-height:1.7}
.prod-descripcion li::marker{color:#c9941a}
.prod-descripcion strong,.prod-descripcion b{color:#faf8f4;font-weight:600}
.prod-descripcion a{color:#c9941a;text-decoration:underline}
.prod-descripcion h2,.prod-descripcion h3,.prod-descripcion h4{color:#faf8f4;font-family:'Playfair Display',serif;font-weight:400;line-height:1.25;margin:26px 0 12px}
.prod-descripcion h2{font-size:26px}
.prod-descripcion h3{font-size:22px}
.prod-descripcion h4{font-size:18px}
.prod-descripcion img{max-width:100%;height:auto;border-radius:2px;margin:12px 0}

/* --- Lightbox de imagen de producto --- */
.pp-lightbox{position:fixed;inset:0;z-index:1100;background:rgba(7,14,28,0.93);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:40px}
.pp-lightbox.active{display:flex}
.pp-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border:1px solid rgba(201,148,26,0.35);border-radius:3px;box-shadow:0 30px 80px rgba(0,0,0,0.6)}
.pp-lightbox-close{position:absolute;top:24px;right:28px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#faf8f4;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,color 0.2s}
.pp-lightbox-close:hover{background:#c9941a;color:#0f1a2e;border-color:#c9941a}

/* Ítem del sidebar de categorías de alquiler */
.alq-side-link{display:block;padding:9px 12px;font-size:12px;font-weight:500;color:rgba(255,255,255,0.5);border-radius:2px;transition:color 0.2s,background 0.2s,border-color 0.2s;border-left:2px solid transparent}
.alq-side-link:hover,.alq-side-link.active{color:#c9941a;border-left-color:#c9941a;background:rgba(201,148,26,0.05)}

/* --- Tarjetas "relacionados" (buffets/servicios) --- */
.rcard{position:relative;overflow:hidden;cursor:pointer;border-radius:2px;display:block}
.rcard img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.rcard:hover img{transform:scale(1.06)}
.rcard .rov{position:absolute;inset:0;background:rgba(7,14,28,0.5);transition:background 0.3s}
.rcard:hover .rov{background:rgba(7,14,28,0.3)}

/* Tarjeta de paquete (servicios) */
.pkg-card{background:#0a1220;border:1px solid rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;transition:border-color 0.3s,transform 0.3s}
.pkg-card:hover{border-color:rgba(201,148,26,0.4);transform:translateY(-4px)}
.pkg-card img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block}

/* Tarjeta grande de listado (buffets) */
.bcard{position:relative;overflow:hidden;cursor:pointer;border-radius:2px;display:block}
.bcard img{width:100%;height:100%;object-fit:cover;transition:transform 0.55s cubic-bezier(.25,.46,.45,.94)}
.bcard:hover img{transform:scale(1.06)}
.bcard .ov{position:absolute;inset:0;background:rgba(7,14,28,0.55);transition:background 0.3s}
.bcard:hover .ov{background:rgba(7,14,28,0.35)}

/* Variante navideña de .bcard: el velo azul pasa a un rojo cálido */
.nvd-card .ov{background:rgba(122,10,20,0.32)}
.nvd-card:hover .ov{background:rgba(122,10,20,0.14)}

/* Botón social redondo (contacto) */
.soc-btn{width:38px;height:38px;background:rgba(255,255,255,0.06);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);transition:background 0.2s,color 0.2s}
.soc-btn:hover{background:#c9941a;color:#0f1a2e}

/* Celda de galería */
.gallery-cell{position:relative;border-radius:2px;overflow:hidden;background:#0a1220;border:1px solid rgba(255,255,255,0.07)}
.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.gallery-cell:hover img{transform:scale(1.05)}

/* --- Página del carrito --- */
.line-item{background:#0a1220;border:1px solid rgba(255,255,255,0.07);border-radius:2px;padding:20px 24px;display:grid;grid-template-columns:1fr auto auto auto;gap:24px;align-items:center}
.qty-ctrl{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:2px;padding:6px 10px}
.qty-ctrl button{background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;transition:color 0.2s}
.qty-ctrl button:hover{color:#c9941a}
.qty-ctrl span{font-size:13px;color:#faf8f4;min-width:18px;text-align:center}
.remove-btn{background:none;border:none;color:rgba(255,255,255,0.3);cursor:pointer;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:color 0.2s,background 0.2s}
.remove-btn:hover{color:#ff4444;background:rgba(255,68,68,0.08)}

/* --- Widget de carrito flotante (global) --- */
.cart-icon-btn{position:fixed;bottom:32px;right:32px;z-index:999;width:56px;height:56px;border-radius:50%;background:#c9941a;border:none;color:#0f1a2e;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,0.3);transition:transform 0.2s,box-shadow 0.2s;font-size:24px}
.cart-icon-btn:hover{transform:scale(1.1);box-shadow:0 12px 32px rgba(201,148,26,0.4)}
.cart-badge{position:absolute;top:-8px;right:-8px;background:#ff4444;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;min-width:24px;padding:0 4px}
.cart-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.cart-modal.active{display:flex}
.cart-panel{background:#0f1a2e;border-radius:4px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.cart-header{padding:24px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center}
.cart-header h2{font-family:'Playfair Display',serif;font-size:28px;color:#faf8f4;margin:0}
.cart-close{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:24px;transition:color 0.2s}
.cart-close:hover{color:#c9941a}
.cart-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.cart-empty{text-align:center;padding:60px 20px;color:rgba(255,255,255,0.3)}
.cart-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:0.3}
.cart-item{background:rgba(255,255,255,0.03);border:1px solid rgba(201,148,26,0.15);border-radius:2px;padding:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cart-item-info{flex:1}
.cart-item-name{font-size:13px;font-weight:600;color:#faf8f4;margin-bottom:4px}
.cart-item-meta{font-size:11px;color:rgba(255,255,255,0.35)}
.cart-item-qty{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.05);border-radius:2px;border:1px solid rgba(255,255,255,0.08);padding:4px 8px}
.cart-item-qty button{background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:12px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.cart-item-qty button:hover{color:#c9941a}
.cart-item-qty span{font-size:11px;color:rgba(255,255,255,0.7);min-width:16px;text-align:center}
.cart-item-remove{background:none;border:none;color:rgba(255,255,255,0.3);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:2px;flex-shrink:0;transition:color 0.2s,background 0.2s}
.cart-item-remove:hover{color:#ff4444;background:rgba(255,68,68,0.08)}
.cart-footer{padding:20px;border-top:1px solid rgba(255,255,255,0.06);display:flex;flex-direction:column;gap:12px}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.cart-total-label{font-size:12px;font-weight:600;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em}
.cart-total-amount{font-family:'Playfair Display',serif;font-size:24px;color:#c9941a;font-weight:400}
.cart-actions{display:flex;gap:10px}
.cart-btn{flex:1;padding:12px;border:none;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.2s}
.cart-btn-send{background:#25D366;color:#fff}
.cart-btn-send:hover{background:#1fa857;transform:translateY(-2px)}
.cart-btn-clear{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.1)}
.cart-btn-clear:hover{background:rgba(255,68,68,0.15);color:#ff4444;border-color:#ff4444}
