/*
Theme Name: Alberto López Comuniones
Theme URI: https://albertolopezfotografo.es
Author: Alberto López / estudioNEO
Description: Tema propio para la web de comuniones de Alberto López Fotografía.
Version: 0.2.9
Text Domain: alberto-comuniones
*/

/* Contact actions and balanced group cards. */
.cta-panel a.contact-card{cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.cta-panel a.contact-card:hover,.cta-panel a.contact-card:focus-visible{background:#eee8de;border-color:#eee8de;color:#262421}
.cta-panel a.contact-card:focus-visible{outline:2px solid #f2d6b4;outline-offset:4px}
.cta-panel a.contact-card:active{background:#dfd2bf}
.group-prices > .card{border-width:2px;transform:none}
@media(min-width:621px){
  .group-prices > .card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
  .group-prices > .card > .btn{justify-self:start;align-self:end}
}
@media(max-width:620px){.hero .actions > .btn--ghost,.hero .actions > .btn--gold{display:none}}
@media(prefers-reduced-motion:reduce){.cta-panel a.contact-card{transition:none}}

:root{--ink:#262421;--muted:#726d65;--paper:#fbfaf7;--sand:#eee8de;--gold:#a77d4b;--dark:#171817;--white:#fff;--line:rgba(38,36,33,.13);--radius:22px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.section{padding:100px 0}.section--soft{background:#f2eee7}.section--dark{background:var(--dark);color:var(--white)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;margin:0 0 20px}h1{font-size:clamp(2.6rem,6vw,5.8rem);max-width:900px}h2{font-size:clamp(2rem,4vw,3.8rem)}h3{font-size:1.6rem}p{margin:0 0 20px}.lead{font-size:clamp(1.08rem,1.7vw,1.35rem);color:var(--muted);max-width:760px}.section--dark .lead{color:#d7d2ca}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--ink);border-radius:999px;font-size:.93rem;font-weight:700;transition:.2s;background:var(--ink);color:var(--white)}.btn:hover{transform:translateY(-2px);background:var(--gold);border-color:var(--gold)}.btn--light{background:var(--white);border-color:var(--white);color:var(--ink)}.btn--ghost{background:transparent;color:inherit;border-color:currentColor}.btn--gold{background:var(--gold);border-color:var(--gold);color:#fff}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;letter-spacing:.04em}.brand small{display:block;font-family:Arial,sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;align-items:center;gap:25px;font-size:.88rem}.nav a:hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}.nav-cta{padding:10px 18px;border:1px solid var(--ink);border-radius:999px}
.hero{position:relative;min-height:calc(100vh - 78px);display:grid;align-items:end;color:#fff;overflow:hidden}.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,9,.72) 0%,rgba(10,10,9,.38) 45%,rgba(10,10,9,.1) 72%),linear-gradient(0deg,rgba(10,10,9,.55),transparent 50%)}.hero__content{position:relative;z-index:2;padding:90px 0 75px}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:640px}.hero .eyebrow{color:#f2d6b4}
.intro-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.statement{font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,3.3rem);line-height:1.2}.photo-card{border-radius:var(--radius);overflow:hidden}.photo-card img{width:100%;height:650px;object-fit:cover}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.value{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.value span{display:block;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.14em;margin-bottom:12px}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:300px 300px;gap:12px;margin-top:45px}.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:16px}.mosaic img:first-child{grid-row:1/3}.mosaic img:nth-child(2){grid-column:2/4}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:45px}.step{padding-top:20px;border-top:1px solid var(--line)}.step b{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--gold);margin-bottom:10px}.paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.path{position:relative;min-height:470px;border-radius:var(--radius);overflow:hidden;display:flex;align-items:flex-end;color:#fff;padding:38px}.path img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.path:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.06) 65%)}.path__content{position:relative;z-index:2}.path p{max-width:520px}.about-photo img{width:100%;height:650px;object-fit:cover;border-radius:var(--radius)}.quote{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.25}.cta-panel{padding:70px;border-radius:30px;background:var(--dark);color:#fff}.cta-panel h2{max-width:760px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.contact-card{padding:26px;border:1px solid rgba(255,255,255,.22);border-radius:18px}.contact-card strong{display:block;margin-bottom:8px}.site-footer{padding:55px 0;background:#111;color:#ddd}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid p,.footer-grid a{color:#aaa;font-size:.9rem}.footer-links{display:flex;flex-direction:column;gap:8px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:25px;color:#777;font-size:.8rem}
.page-hero{padding:100px 0 70px;background:var(--sand)}.page-hero h1{font-size:clamp(2.5rem,5vw,5rem)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px;align-items:stretch}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}.card .btn{align-self:flex-start;margin-top:auto}.card--featured{border:2px solid var(--gold);transform:translateY(-8px)}.price{font-family:Georgia,serif;font-size:2.5rem;margin:18px 0}.price small{font-family:Arial,sans-serif;font-size:.85rem;color:var(--muted)}.list{padding:0;margin:22px 0;list-style:none}.list li{padding:9px 0;border-bottom:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;height:390px;object-fit:cover;border-radius:15px}.content-narrow{max-width:800px}.notice{padding:20px 24px;border-left:3px solid var(--gold);background:#f2eee7;margin:30px 0}.mobile-actions{display:none}.process--three{grid-template-columns:repeat(3,1fr)}.video-block{max-width:1000px}.video-copy{max-width:760px;margin-bottom:34px}.feature-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:#111;box-shadow:0 24px 60px rgba(38,36,33,.13)}.group-prices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px;align-items:stretch}.album-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.album-options .value span{font-family:Georgia,serif;font-size:2.3rem;letter-spacing:0;color:var(--gold)}.contact-cards--stack{grid-template-columns:1fr}.contact-cards--stack .contact-card{border-color:var(--line);background:#fff}.quick-form-section{max-width:920px}.quick-form-intro{max-width:720px;margin-bottom:35px}.quick-form-wrap{padding:38px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.quick-form-wrap--wide{padding:45px}.quick-form label{display:block;font-size:.88rem;font-weight:700;margin-bottom:17px}.quick-form input,.quick-form select,.quick-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.quick-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.quick-form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}.quick-form .consent input{width:auto;margin:5px 0 0;flex:0 0 auto}.form-hp{position:absolute!important;left:-9999px!important}.form-message{padding:15px 18px;border-radius:10px;margin-bottom:22px}.form-message--ok{background:#edf6ee;color:#275b2d}.form-message--error{background:#fff0ef;color:#8a2820}
.group-explanation{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px}.group-explanation article{padding:32px;border-top:1px solid var(--gold);background:rgba(255,255,255,.38)}.group-explanation h3{font-size:2rem}.btn--details{margin-top:auto}.service-modal{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(20,19,17,.72);backdrop-filter:blur(5px)}.service-modal.is-open{display:flex}.service-modal__panel{position:relative;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:48px;background:var(--paper);border-radius:var(--radius);box-shadow:0 24px 80px rgba(0,0,0,.3)}.service-modal__close{position:absolute;top:16px;right:18px;width:42px;height:42px;border:0;border-radius:50%;background:#eee8de;color:var(--ink);font-size:1.8rem;line-height:1;cursor:pointer}.coverage-list{list-style:none;padding:0;margin:28px 0}.coverage-list li{padding:15px 0;border-bottom:1px solid var(--line)}.coverage-list strong,.coverage-list span{display:block}.coverage-list span{margin-top:4px;color:var(--muted)}.modal-price{font-family:Georgia,serif;font-size:2.2rem}.modal-price small{display:block;margin-top:4px;font-family:Arial,sans-serif;font-size:.85rem;color:var(--muted)}body.modal-open{overflow:hidden}
.reserve-steps{counter-reset:reserve;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}.reserve-step{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.reserve-step:before{counter-increment:reserve;content:"0" counter(reserve);display:block;margin-bottom:14px;color:var(--gold);font-family:Georgia,serif;font-size:1.8rem}.reserve-step h3{font-size:1.35rem}.reserve-step p{margin:0;color:var(--muted)}.contract-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:55px;align-items:start}.contract-summary{position:sticky;top:110px}.contract-summary ul{padding-left:20px}.contract-form{padding:38px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.contract-form__section{padding-top:22px;margin-top:8px;border-top:1px solid var(--line)}.contract-form__section h3{font-size:1.35rem}.contract-form label{display:block;margin-bottom:17px;font-size:.88rem;font-weight:700}.contract-form input,.contract-form select,.contract-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.contract-form textarea{resize:vertical}.contract-form .consent,.contract-form .check-line{display:flex;gap:10px;align-items:flex-start;font-weight:400}.contract-form .consent input,.contract-form .check-line input{width:auto;margin:5px 0 0;flex:0 0 auto}.contract-pack-note{display:block;margin-top:7px;color:var(--muted);font-weight:400}.contract-group-note{padding:16px 18px;border-radius:12px;background:var(--sand);color:var(--muted)}
.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto}.card-actions .btn{margin-top:0}.card-reserve{font-size:.88rem;font-weight:700;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.reserve-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;align-items:stretch}.reserve-pack{display:flex;flex-direction:column;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.reserve-pack--featured{border:2px solid var(--gold)}.reserve-pack p:not(.eyebrow){color:var(--muted)}.reserve-pack .btn{align-self:flex-start;margin-top:auto}.reserve-pack .btn--ghost{color:var(--ink)}
@media(max-width:620px){.reserve-pack-grid{grid-template-columns:1fr}}
@media(min-width:901px){.mosaic{grid-template-columns:repeat(6,1fr);grid-template-rows:600px auto}.mosaic img:first-child{grid-column:1/3;grid-row:1}.mosaic img:nth-child(2){grid-column:3/7;grid-row:1;object-position:center}.mosaic img:nth-child(3){grid-column:1/3;grid-row:2}.mosaic img:nth-child(4){grid-column:3/5;grid-row:2}.mosaic img:nth-child(5){grid-column:5/7;grid-row:2}.mosaic img:nth-child(n+3){height:auto;aspect-ratio:1/1}}
@media(max-width:900px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.is-open{display:flex}.menu-toggle{display:block}.intro-grid,.split,.paths,.contract-layout{grid-template-columns:1fr;gap:38px}.contract-summary{position:static}.values,.cards,.process,.contact-cards,.reserve-steps{grid-template-columns:1fr 1fr}.process--three{grid-template-columns:1fr 1fr}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.mosaic img:first-child{grid-column:1/3;grid-row:auto}.mosaic img:nth-child(2){grid-column:auto}.photo-card img,.about-photo img{height:520px}.footer-grid{grid-template-columns:1fr 1fr}.card--featured{transform:none}.group-explanation{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:min(calc(100% - 28px),var(--max))}.section{padding:64px 0}.hero{min-height:78vh}.hero__bg{object-position:56% center}.hero:after{background:linear-gradient(0deg,rgba(10,10,9,.82),rgba(10,10,9,.16) 78%)}.hero__content{padding:58px 0 42px}.hero .eyebrow{display:inline-block;padding:6px 9px;margin-bottom:16px;border-radius:6px;background:rgba(17,18,17,.58);color:#fff;font-size:.72rem;line-height:1.4}.values,.cards,.process,.contact-cards,.footer-grid,.group-prices,.album-options,.form-grid,.reserve-steps{grid-template-columns:1fr}.values,.process{gap:14px}.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:250px 180px 180px}.mosaic img{border-radius:10px}.mosaic img:first-child{grid-column:1/3}.cta-panel{padding:36px 22px}.path{min-height:360px;padding:24px}.photo-card img,.about-photo img{height:420px}.quick-form-wrap,.contract-form{padding:27px 20px}.feature-video{border-radius:14px}.group-explanation article{padding:24px 4px}.service-modal{padding:12px}.service-modal__panel{padding:38px 22px 28px;max-height:calc(100vh - 24px)}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:45;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));overflow:hidden;background:var(--ink);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.23)}.mobile-actions a{display:flex;min-height:48px;padding:0 12px;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;text-align:center}.mobile-actions__reserve{background:var(--gold)}body{padding-bottom:70px}}
