/*
Theme Name: Antigüedades El Pirata
Theme URI: https://antiguedadeselpirata.cl
Author: Antigüedades El Pirata + FlowCode AI
Description: Block theme a medida para Antigüedades El Pirata — tienda de antigüedades rústico-colonial/náutica en San José de Duao, Maule.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: pirata
*/

/* ===== Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=Pirata+One&family=Inter:wght@400;500;600;700;800&display=swap');

/* ===== Base ===== */
:root{
  --ap-shadow: 0 18px 40px -18px rgba(14,46,84,.5);
  --ap-shadow-sm: 0 8px 20px -12px rgba(14,46,84,.4);
}
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

h1,h2,h3,h4,h5,h6{ letter-spacing:-.005em; line-height:1.12; }
.is-style-overline{
  font-family:"Inter",sans-serif; text-transform:uppercase; letter-spacing:.22em;
  font-size:.82rem; font-weight:700; color:var(--wp--preset--color--rojo-oxido);
}
.has-azul-background-color .is-style-overline,
.has-azul-oscuro-background-color .is-style-overline,
.wp-block-cover .is-style-overline{ color:#E8B873; }

.ap-hero-badge{
  display:flex; align-items:center; gap:.7rem; margin-bottom:1.1rem;
}
.ap-hero-badge img{
  width:92px; height:92px; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 3px rgba(255,255,255,.75), var(--ap-shadow);
  flex-shrink:0;
}
.ap-hero-badge span{
  font-family:"Inter",sans-serif; font-weight:700; font-size:.92rem;
  letter-spacing:.03em; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.4);
}
@media (max-width:1023px){
  .ap-hero-badge img{ width:68px; height:68px; }
  .ap-hero-badge span{ font-size:.82rem; }
}

/* "Guiño" del logo: la calavera ya tiene un ojo tapado por el parche en la foto;
   a esa escala (68-92px) un recorte sobre el ojo real no se alcanza a ver, así que
   el guiño se resuelve como un gesto completo del logo — un tilt+parpadeo breve y
   periódico, no una animación continua. */
.ap-logo-wink{ animation: ap-wink 4.5s ease-in-out infinite; transform-origin: 50% 65%; }
@keyframes ap-wink{
  0%, 86%, 100% { transform: rotate(0deg) scaleY(1); }
  90%           { transform: rotate(-6deg) scaleY(0.92); }
  93%           { transform: rotate(4deg) scaleY(1.04); }
  96%           { transform: rotate(0deg) scaleY(1); }
}
@media (prefers-reduced-motion: reduce){
  .ap-logo-wink{ animation: none; }
}

.is-style-pirata-title{
  font-family:"Pirata One","Bitter",serif !important;
  letter-spacing:.02em;
}

/* Evita la costura blanca entre secciones alignfull apiladas (blockGap raíz) */
.wp-block-group.alignfull{ margin-top:0; margin-bottom:0; }

/* ===== Buttons ===== */
.wp-block-button__link{
  font-family:"Inter",sans-serif; letter-spacing:.01em;
  font-weight:700; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:var(--ap-shadow-sm); }
.wp-block-button.is-style-rojo .wp-block-button__link{
  background:var(--wp--preset--color--rojo-oxido); color:#fff;
}
.wp-block-button.is-style-rojo .wp-block-button__link:hover{ background:var(--wp--preset--color--rojo-oscuro); }
.wp-block-button.is-style-dorado .wp-block-button__link{
  background:var(--wp--preset--color--dorado); color:#241C14;
}
.wp-block-button.is-style-dorado .wp-block-button__link:hover{ background:#B1841F; }
.wp-block-button.is-style-ghost .wp-block-button__link{
  background:transparent; color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{ box-shadow:inset 0 0 0 2px #fff; background:rgba(255,255,255,.1); }
.wp-block-button.is-style-ghost-dark .wp-block-button__link{
  background:transparent; color:var(--wp--preset--color--azul); box-shadow:inset 0 0 0 2px var(--wp--preset--color--azul);
}
.wp-block-button.is-style-ghost-dark .wp-block-button__link:hover{ background:var(--wp--preset--color--azul); color:#fff; }

/* ===== Header ===== */
.ap-header{ position:sticky; top:0; z-index:100; }
.ap-header-inner{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  max-width:1280px; margin-left:auto; margin-right:auto; padding-left:1.25rem; padding-right:1.25rem;
}
.ap-logo-badge{ display:flex; align-items:center; gap:.7rem; }
.ap-logo-badge img{ max-height:58px; width:58px; height:58px; object-fit:cover; border-radius:50%; display:block; box-shadow:0 0 0 2px rgba(255,255,255,.55); }
.ap-logo-badge .ap-wordmark{ font-family:"Pirata One",serif; color:#fff; font-size:1.3rem; letter-spacing:.02em; line-height:1.05; }
.ap-logo-badge .ap-wordmark span{ display:block; font-family:"Inter",sans-serif; font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#E8B873; }

.ap-nav-links{ display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.ap-nav-links a{
  font-family:"Inter",sans-serif; letter-spacing:.01em; font-size:.95rem; font-weight:600;
  color:#fff; text-decoration:none;
}
.ap-nav-links a:hover{ color:#E8B873; }

/* Hamburguesa: checkbox nativo HERMANO del label y del nav */
.ap-nav-toggle{ position:absolute; left:-9999px; }
.ap-nav-toggle-label{
  display:none; cursor:pointer; width:30px; height:22px; position:relative; flex-shrink:0;
}
.ap-nav-toggle-label span{
  display:block; position:absolute; left:0; width:100%; height:3px; border-radius:2px;
  background:#fff; transition:transform .2s ease, opacity .2s ease;
}
.ap-nav-toggle-label span:nth-child(1){ top:0; }
.ap-nav-toggle-label span:nth-child(2){ top:9px; }
.ap-nav-toggle-label span:nth-child(3){ top:18px; }
.ap-nav-toggle:focus + .ap-nav-toggle-label{ outline:2px solid #fff; outline-offset:4px; }
.ap-nav-toggle:checked + .ap-nav-toggle-label span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
.ap-nav-toggle:checked + .ap-nav-toggle-label span:nth-child(2){ opacity:0; }
.ap-nav-toggle:checked + .ap-nav-toggle-label span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

/* ===== Cards & hover ===== */
.ap-card{ transition:transform .2s ease, box-shadow .2s ease; height:100%; }
.ap-card:hover{ transform:translateY(-6px); box-shadow:var(--ap-shadow); }
.ap-proj figure{ margin:0; overflow:hidden; border-radius:10px; }
.ap-proj img{ aspect-ratio:4/3; object-fit:cover; width:100%; transition:transform .5s ease; }
.ap-proj:hover img{ transform:scale(1.06); }

/* ===== Formulario de contacto ===== */
.ap-form{ display:grid; gap:1rem; }
.ap-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:600px){ .ap-form .row{ grid-template-columns:1fr; } }
.ap-form label{ font-weight:600; font-size:.9rem; display:block; margin-bottom:.35rem; color:var(--wp--preset--color--carbon); }
.ap-form input,.ap-form select,.ap-form textarea{
  width:100%; padding:.8rem .9rem; border:1px solid #d9cdb8; border-radius:8px;
  font:inherit; background:#fff; color:var(--wp--preset--color--carbon);
}
.ap-form input:focus,.ap-form select:focus,.ap-form textarea:focus{
  outline:none; border-color:var(--wp--preset--color--rojo-oxido); box-shadow:0 0 0 3px rgba(181,69,31,.18);
}
.ap-form button{
  font-family:"Inter",sans-serif; font-weight:700;
  background:var(--wp--preset--color--rojo-oxido); color:#fff; border:0; padding:.95rem 1.6rem;
  border-radius:8px; cursor:pointer; font-size:1rem; transition:background .18s, transform .18s;
}
.ap-form button:hover{ background:var(--wp--preset--color--rojo-oscuro); transform:translateY(-2px); }
.ap-alert{ padding:1rem 1.2rem; border-radius:8px; background:#e7f7ec; color:#176a37; border:1px solid #b6e6c5; font-weight:600; }

/* ===== Floating WhatsApp ===== */
.ap-wa{
  position:fixed; right:20px; bottom:20px; z-index:200; width:58px; height:58px;
  border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px -8px rgba(0,0,0,.45); transition:transform .2s; color:#fff;
}
.ap-wa:hover{ transform:scale(1.08); }
.ap-wa svg{ width:32px; height:32px; fill:#fff; }

/* ===== Toggle música de fondo ===== */
.ap-music-toggle{
  position:fixed; right:20px; bottom:92px; z-index:200; width:46px; height:46px;
  border-radius:50%; background:var(--wp--preset--color--azul-oscuro); color:#fff; border:2px solid rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; cursor:pointer;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.4); transition:transform .2s, background .2s; opacity:.72;
}
.ap-music-toggle:hover{ transform:scale(1.08); opacity:1; }
.ap-music-toggle.is-playing{ background:var(--wp--preset--color--dorado); color:#241C14; opacity:1; animation:ap-pulse 1.8s ease-in-out infinite; }
@keyframes ap-pulse{ 0%,100%{ box-shadow:0 10px 24px -8px rgba(0,0,0,.4),0 0 0 0 rgba(200,152,47,.5);} 50%{ box-shadow:0 10px 24px -8px rgba(0,0,0,.4),0 0 0 8px rgba(200,152,47,0);} }
@media(max-width:1023px){ .ap-music-toggle{ width:42px; height:42px; right:14px; bottom:78px; font-size:1.05rem; } }

/* ===== Franja de confianza ===== */
.ap-franja{
  background:var(--wp--preset--color--azul-oscuro)!important;
  border-top:3px solid var(--wp--preset--color--rojo-oxido); border-bottom:3px solid var(--wp--preset--color--rojo-oxido);
  position:relative; overflow:hidden;
}
.ap-franja-item{ margin:0!important; white-space:nowrap; color:#fff!important; }
@media(max-width:782px){ .ap-franja-item{ font-size:.88rem!important; } }

/* ===== Footer credit ===== */
.ap-credit{
  font-family:"Inter",sans-serif; letter-spacing:.04em;
  color:#b9c7d6; transition:color .2s, text-shadow .2s;
}
.ap-credit:hover{ color:#E8B873; text-shadow:0 0 12px rgba(232,184,115,.5); }

.ap-stars{ color:var(--wp--preset--color--dorado); letter-spacing:.15em; font-size:1.1rem; margin-bottom:.6rem!important; }
.ap-divider{ width:64px; height:4px; background:var(--wp--preset--color--rojo-oxido); border-radius:2px; }

/* mapa responsive */
.ap-map{ position:relative; width:100%; padding-bottom:62%; border-radius:12px; overflow:hidden; box-shadow:var(--ap-shadow-sm); background:var(--wp--preset--color--crema); }
.ap-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ap-map-cta{ position:absolute; inset:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.8rem; border:0; cursor:pointer; background:var(--wp--preset--color--crema); color:var(--wp--preset--color--azul-oscuro); font-family:inherit; }
.ap-map-cta:hover{ background:#ece3d3; }
.ap-map-cta .ap-map-pin{ font-size:2rem; }
.ap-map-cta .ap-map-label{ font-size:1rem; font-weight:600; text-decoration:underline; }

/* ===== Responsive / Mobile ===== */
@media (max-width: 1023px){
  .wp-block-cover h1.wp-block-heading{
    font-size: clamp(1.55rem, 6.6vw, 2.1rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word; word-break: normal; hyphens: none;
  }
  .wp-block-cover{ min-height: 78vh !important; }
  .wp-block-cover .wp-block-cover__inner-container{ width: 100%; max-width: 100%; }
  .wp-block-cover .wp-block-cover__inner-container > .wp-block-group{ max-width: 100%; }
  .wp-block-cover p{ font-size: 1.02rem !important; }
  .is-style-overline{ font-size: .72rem; letter-spacing:.16em; }

  .wp-block-cover .wp-block-buttons{ width: 100%; }
  .wp-block-cover .wp-block-buttons .wp-block-button{ flex: 1 1 100%; }
  .wp-block-cover .wp-block-buttons .wp-block-button__link{ display:block; text-align:center; }

  h2.wp-block-heading{ font-size: clamp(1.7rem, 7vw, 2.2rem) !important; }

  .ap-nav-toggle-label{ display:block; order:3; }
  .ap-header-cta{ order:4; }
  .ap-nav-links{
    display:none; flex-direction:column; align-items:flex-start; gap:1.2rem;
    position:fixed; inset:0; top:76px; z-index:150; overflow-y:auto;
    background:var(--wp--preset--color--azul-oscuro); padding:2rem 1.5rem;
  }
  .ap-nav-toggle:checked ~ .ap-nav-links{ display:flex; }
  .ap-nav-links a{ font-size:1.4rem !important; padding:.4rem 0; width:100%; }

  .ap-wa{ width:52px; height:52px; right:14px; bottom:14px; }
  .ap-wa svg{ width:28px; height:28px; }

  .ap-logo-badge img{ max-height:46px; width:46px; height:46px; }
  .ap-logo-badge .ap-wordmark{ font-size:1.05rem; }

  main h1.wp-block-heading,
  .has-azul-oscuro-background-color h1.wp-block-heading{
    font-size: clamp(1.9rem, 8vw, 2.4rem) !important;
    line-height: 1.1 !important;
    overflow-wrap: break-word;
  }

  .wp-block-social-links .wp-social-link{ width:40px !important; height:40px !important; }
  footer a, .wp-block-column a:not(.wp-block-button__link){ display:inline-block; padding:.18rem 0; }

  img, iframe, video, table, pre{ max-width:100% !important; height:auto; }
  .wp-block-group, .wp-block-columns, .wp-block-column{ max-width:100%; }
  html, body{ overflow-x:hidden; }
}

/* ===== Tablet (600–1023px) ===== */
@media (min-width: 600px) and (max-width: 1023px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){
    flex-direction:row !important; flex-wrap:wrap !important; gap:1.4rem;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{
    flex-basis:30% !important; flex-grow:1 !important; min-width:0 !important;
  }
  footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{ flex-basis:42% !important; }
  .wp-block-media-text{ grid-template-columns:1fr 1fr !important; }
  .wp-block-media-text.has-media-on-the-right{ grid-template-columns:1fr 1fr !important; }

  .wp-block-cover h1.wp-block-heading{ font-size: clamp(2.2rem, 5.5vw, 3rem) !important; }
  main h1.wp-block-heading,
  .has-azul-oscuro-background-color h1.wp-block-heading{ font-size: clamp(2.4rem, 5vw, 3rem) !important; }
}

@media (max-width: 1023px){ html{ scroll-padding-top: 64px; } }
[id]{ scroll-margin-top: 90px; }

.has-rojo-oxido-color{ color:var(--wp--preset--color--rojo-oxido)!important; }

/* ===== Galería masonry (home) ===== */
.ap-masonry{
  column-count:4; column-gap:1rem; max-width:1280px; margin:0 auto; padding:0 1.25rem;
}
.ap-masonry-item{
  break-inside:avoid; margin:0 0 1rem; display:block; border-radius:10px; overflow:hidden;
  box-shadow:0 1px 0 rgba(0,0,0,.05); background:#fff;
}
.ap-masonry-item a{ display:block; }
.ap-masonry-item img{ width:100%; height:auto; display:block; cursor:zoom-in; transition:transform .4s ease; }
.ap-masonry-item:hover img{ transform:scale(1.03); }
.ap-masonry-item figcaption{
  font-size:.82rem; color:var(--wp--preset--color--piedra); padding:.5rem .7rem .7rem;
}
.ap-masonry-item.ap-masonry-more{ display:none; }
.ap-masonry-item.ap-masonry-more.is-visible{ display:block; }
@media (max-width:1023px){ .ap-masonry{ column-count:3; } }
@media (max-width:600px){ .ap-masonry{ column-count:2; column-gap:.7rem; } .ap-masonry-item{ margin-bottom:.7rem; } }

/* ===== Si quieres vender ===== */
.ap-vender-cta{ text-align:center; margin-top:1.6rem; }
.ap-vender-btn{
  display:inline-block; background:var(--wp--preset--color--rojo-oxido); color:#fff;
  font-family:"Inter",sans-serif; font-weight:700; padding:.95rem 1.8rem; border-radius:8px;
  text-decoration:none; font-size:1.05rem; transition:background .18s, transform .18s; white-space:nowrap;
}
.ap-vender-btn:hover{ background:var(--wp--preset--color--rojo-oscuro); transform:translateY(-2px); color:#fff; }
.ap-vender-btn-short{ display:none; }
.ap-vender-numero{ display:none; margin-top:.7rem; font-size:.95rem; color:#e8e8e8; }
@media (max-width:400px){
  .ap-vender-btn{ white-space:normal; }
  .ap-vender-btn-full{ display:none; }
  .ap-vender-btn-short{ display:inline; }
  .ap-vender-numero{ display:block; }
}

/* ===== Lightbox custom ===== */
.ap-lightbox-overlay{
  position:fixed; inset:0; z-index:9999; background:rgba(14,10,6,.94);
  display:none; align-items:center; justify-content:center; padding:2.5rem 1.25rem;
}
.ap-lightbox-overlay.is-open{ display:flex; }
.ap-lightbox-overlay img{ max-width:100%; max-height:82vh; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.ap-lightbox-figure{ text-align:center; max-width:94vw; }
.ap-lightbox-caption{ color:#f0e9dc; margin-top:1rem; font-size:.95rem; }
.ap-lightbox-close, .ap-lightbox-prev, .ap-lightbox-next{
  position:fixed; background:rgba(255,255,255,.12); color:#fff; border:0; border-radius:50%;
  width:46px; height:46px; font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.ap-lightbox-close{ top:20px; right:20px; }
.ap-lightbox-prev{ left:20px; top:50%; transform:translateY(-50%); }
.ap-lightbox-next{ right:20px; top:50%; transform:translateY(-50%); }
.ap-lightbox-close:hover, .ap-lightbox-prev:hover, .ap-lightbox-next:hover{ background:rgba(255,255,255,.25); }
@media (max-width:600px){
  .ap-lightbox-prev, .ap-lightbox-next{ width:38px; height:38px; font-size:1.1rem; }
  .ap-lightbox-close{ width:38px; height:38px; top:10px; right:10px; }
}
