/*
Theme Name: Hispafra
Version: 1.0.2
Description: Hispafra — Gutenberg editable, français et anglais.
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: hispafra
License: GPL-2.0-or-later
*/
:root{--navy:#1d3153;--coral:#ff705e;--accent:#b64232;--pale:#fff0ed;--grey:#f5f8fa;--line:#d7e0e9}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:white;font:17px/1.55 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:5}.review{padding:8px 4%;background:#e9eef3;font-size:12px;display:flex;gap:20px;flex-wrap:wrap}.review label{margin-left:auto}.review input{width:auto}.wrap{width:min(1160px,90%);margin:auto}header{display:flex;align-items:center;gap:22px;padding:20px 0}.logo{width:205px;height:55px;object-fit:contain}nav{display:flex;gap:24px;align-items:center;margin-left:auto;font-size:14px}nav a{text-decoration:none;padding:8px 0}nav .current{border-bottom:2px solid var(--coral)}.langs{white-space:nowrap;font-size:14px}.langs a{padding:10px 5px}.button,button.submit{display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:var(--navy);border:0;border-radius:28px;padding:13px 24px;min-height:46px;font-weight:700;text-decoration:none;font-size:15px;cursor:pointer}.headercta{font-size:12px;padding:12px 18px}.menu{display:none;background:white;border:1px solid var(--line);padding:9px}.crumb{font-size:12px;padding-top:10px}.hero-bg{background:var(--grey)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding:55px 0;align-items:center}.eyebrow{font-size:12px;color:var(--accent);letter-spacing:2px;font-weight:700;text-transform:uppercase;margin-bottom:12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.25vw,57px);line-height:1.07;letter-spacing:-1.8px;margin-bottom:18px}h2{font-size:clamp(29px,3vw,40px);line-height:1.15;letter-spacing:-1px;margin-bottom:24px}h3{font-size:21px;line-height:1.25;margin-bottom:12px}.intro{font-size:21px;line-height:1.4}.extra{font-size:17px}.hero-list{border-left:1px solid var(--line);padding-left:32px}.hero-row{display:flex;gap:24px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line);font-size:20px;font-weight:700;text-decoration:none}.hero-row:last-child{border:0}.icon{width:42px;height:42px;min-width:42px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero-row .icon{width:48px;height:48px}.section{padding:52px 0}.soft{background:var(--grey)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:7px;padding:26px;min-width:0}.card .icon{margin-bottom:14px}.card p{font-size:16px;margin-bottom:0}.card a{display:inline-block;margin-top:14px;color:var(--accent);font-size:15px}.service-photo{aspect-ratio:2.9;background:#edf1f5;display:flex;align-items:center;justify-content:center;margin:-20px -20px 18px;font-size:13px;text-align:center;padding:20px;border-radius:6px}.service{padding:20px}.service.feature{background:var(--pale)}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:30px 0}.benefits article{display:flex;gap:12px;font-size:13px}.benefits b{display:block;font-size:15px}.benefits p{margin:0}.benefits .icon{width:34px;min-width:34px}.split{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;align-items:center}.photo{background:#edf0f4;border:1px solid var(--line);border-radius:7px;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;color:#627084}.portrait{aspect-ratio:4/5;max-width:300px;width:100%;margin:auto}.price{background:var(--pale)}.price strong{font-size:43px;line-height:1.1;display:block;margin:12px 0}.availability{font-size:15px;margin:22px 0 0;text-align:center}.week{border-top:1px solid var(--line)}.day{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.day p{margin:0;font-size:15px}.band{background:var(--navy);color:white;padding:32px 0}.band .split{grid-template-columns:1.4fr 1fr}.band h2{font-size:29px;margin:0 0 10px}.band p{margin:0}.alternatives{font-size:14px;margin-top:15px!important;display:flex;gap:12px;flex-wrap:wrap}.band a:focus-visible{outline-color:white}footer{padding:28px 0;font-size:13px}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}footer .links{display:flex;gap:15px;flex-wrap:wrap}.fine{font-size:13px;color:#57677d}.note{display:none;border:1px dashed var(--accent);background:var(--pale);padding:20px;font-size:14px;margin-top:20px}.show-notes .note{display:block}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:700}details p{margin:12px 0 0}form{border:1px solid var(--line);border-radius:8px;padding:28px;background:white;color:var(--navy)}label{font-size:14px;display:block}input,select,textarea{width:100%;padding:12px;border:1px solid #9ba9bb;border-radius:4px;background:white;margin:6px 0 18px;min-width:0}textarea{min-height:120px;resize:vertical}form .grid{gap:18px}.status{font-weight:700;margin-top:15px}.contact-links{display:grid;gap:18px;margin-top:24px}.contact-links a{padding:16px;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}.smalltitle{font-size:25px}#services-menu{position:absolute;background:white;box-shadow:0 10px 20px #1d315322;padding:15px;z-index:4;display:grid;gap:10px}#services-menu[hidden]{display:none}.nav-services{position:relative}.nav-services button{background:none;border:0;padding:8px 0;cursor:pointer;font-size:14px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:950px){header{gap:12px}.logo{width:160px}nav{gap:15px}.headercta{display:none}.hero{gap:30px}.hero-list{padding-left:22px}.benefits{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){body{font-size:16px}.wrap{width:89%}header{flex-wrap:wrap;padding:14px 0}.logo{width:145px;height:42px}.langs{margin-left:auto}.menu{display:block}nav{display:none;width:100%;margin:0;align-items:stretch;flex-direction:column;gap:0}nav.open{display:flex}nav a,.nav-services button{padding:12px;width:100%;text-align:left}#services-menu{position:static;box-shadow:none;padding:0 12px}.hero{grid-template-columns:1fr;padding:34px 0;gap:24px}h1{font-size:39px;letter-spacing:-1.2px}.intro{font-size:19px}.hero-list{border-left:0;padding:0}.hero-row{font-size:17px;padding:15px 0;gap:18px}.hero-row .icon{width:34px;height:34px}.section{padding:38px 0}.grid,.grid.three,.split,.band .split{grid-template-columns:1fr;gap:20px}.card{padding:22px}.service-photo{margin:-16px -16px 16px}.benefits{gap:22px 14px}.benefits article{display:block}.benefits .icon{margin-bottom:8px}.day{grid-template-columns:1fr;gap:5px}.portrait{max-width:220px}.band{padding:32px 0}.button{max-width:100%;text-align:center}form{padding:20px}form .grid{gap:0}footer .wrap{align-items:flex-start}.review{gap:5px 14px}.review label{margin-left:0}.review input{margin:0;min-height:0}.hero .button{width:100%}h2{font-size:30px}}@media(max-width:360px){h1{font-size:34px}.logo{width:123px}.wrap{width:91%}}
:root{--submenu-width:390px}#services-menu{min-width:var(--submenu-width);padding:16px;border-radius:10px;gap:4px;border:1px solid var(--line)}#services-menu a{display:block;padding:15px 18px;line-height:1.4;font-size:16px;white-space:normal;border-radius:6px}#services-menu a:hover,#services-menu a:focus-visible{background:var(--pale)}@media(max-width:700px){#services-menu{min-width:0;width:100%;padding:8px;border:0}#services-menu a{padding:15px 12px}}

/* WordPress integration */
.wp-block-group{box-sizing:border-box}.wp-block-group.wrap{margin-left:auto;margin-right:auto}.wp-block-button__link{display:inline-flex;background:var(--coral);color:var(--navy);font-weight:700;border-radius:28px;padding:13px 24px;text-decoration:none;font-size:15px;min-height:46px}.wp-block-buttons{margin:18px 0}.wp-block-group p:last-child{margin-bottom:0}.price-number{font-size:43px!important;line-height:1.15}.custom-logo{width:205px;height:auto;max-height:60px;object-fit:contain}.site-menu{list-style:none;display:flex;gap:24px;padding:0;margin:0;align-items:center}.site-menu li{position:relative}.site-menu .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:390px;max-width:90vw;padding:16px;list-style:none;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #1d315320}.site-menu .sub-menu a{display:block;white-space:normal;padding:15px 18px;font-size:16px;line-height:1.4;border-radius:6px}.site-menu .sub-menu a:hover{background:var(--pale)}.site-menu li:focus-within>.sub-menu,.site-menu li:hover>.sub-menu,.site-menu li.is-open>.sub-menu{display:block}.site-menu button{background:none;border:0;padding:10px 0;cursor:pointer}.site-menu li.current-menu-item>a{border-bottom:2px solid var(--coral)}.hispafra-form select,.hispafra-form input,.hispafra-form textarea{width:100%}.hispafra-form .wpcf7-submit{background:var(--coral);border:0;border-radius:25px;font-weight:bold;width:auto;cursor:pointer}.hispafra-form{max-width:760px;margin:auto}.hispafra-form .wpcf7 form{margin:0}.wp-block-group.photo svg{display:block;margin:auto}.editor-styles-wrapper{color:var(--navy);font-family:Arial,sans-serif}.editor-styles-wrapper .wp-block{max-width:1160px}.wp-block-group.hero-row p{margin:0}.site-footer .site-menu{flex-wrap:wrap;font-size:13px}.site-footer .sub-menu{display:none!important}body .review{display:none}.placeholder-notice{font-size:13px;color:#57677d}.page-template-default main{overflow-wrap:anywhere}footer .logo{height:auto}.contact-links{width:100%}.hispafra-status{padding:15px;background:var(--grey)}
@media(max-width:700px){.site-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.site-menu .sub-menu{position:static;min-width:0;max-width:none;box-shadow:none;border:0;padding:8px}.site-menu .sub-menu a{padding:15px 12px}.site-menu button{padding:12px;width:100%;text-align:left}.custom-logo{width:145px}.site-footer .site-menu{display:none}}

.site-menu li.escape-closed>.sub-menu{display:none!important}
/* Native editable media, with consistent cropping and no public placeholder. */
.wp-block-image.hispafra-media{display:block;padding:0;overflow:hidden;border:0}
.wp-block-image.service-photo{aspect-ratio:2.9;margin:-20px -20px 18px;border-radius:6px}
.wp-block-image.hispafra-media img{display:block;width:100%;height:100%;object-fit:cover}
.wp-block-image.portrait{aspect-ratio:4/5;margin:auto;max-width:300px}
body:not(.block-editor-page) .wp-block-image.hispafra-media:not(:has(img)){display:none}
.editor-styles-wrapper .wp-block-image.hispafra-media{min-height:160px}
.editor-styles-wrapper .wp-block-image.hispafra-media:not(:has(img)){display:block;overflow:visible;aspect-ratio:auto}
@media(max-width:700px){.wp-block-image.service-photo{margin:-16px -16px 16px}.wp-block-image.portrait{max-width:220px}}

.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.schedule-card{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;min-width:0}
.schedule-card:before{content:"";display:block;width:38px;height:3px;background:var(--coral);margin-bottom:12px}
.schedule-card h3{font-size:24px;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.schedule-event{position:relative;padding-left:20px;margin:18px 0}.schedule-event:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border:1.5px solid var(--coral);border-radius:50%}
.schedule-event p{font-size:16px;line-height:1.45;margin:0}.schedule-event strong{white-space:nowrap}
.schedule-departure{grid-column:1/-1;display:flex;align-items:center;gap:24px}.schedule-departure h3,.schedule-departure .schedule-event{margin:0}
.immersion-faq details{border:1px solid var(--line);border-radius:7px;padding:18px 22px;margin-bottom:10px}.immersion-faq summary{line-height:1.5}.immersion-faq details p{max-width:85ch;line-height:1.65}
@media(max-width:1000px){.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.schedule-grid{grid-template-columns:1fr}.schedule-card{padding:22px}.schedule-departure{gap:15px;flex-wrap:wrap}}
