@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700;800&display=swap");@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap");:root{--navy:#1E3A8A;--navy-light:#3B82F6;--navy-dark:#1E40AF;--gold:#A16207;--gold-hover:#92570A;--white:#FFFFFF;--off-white:#F8FAFC;--cream:#FAFAF9;--gray-50:#E9EEF5;--gray-100:#BFDBFE;--gray-600:#64748B;--gray-900:#1E40AF;--terracotta:#C67B5C;--terracotta-light:#D4917A;--warm-clay:#B5651D;--sand-beige:#D4C4A8;--text-primary:#1E40AF;--text-secondary:#64748B;--bg-primary:#FFFFFF;--bg-secondary:#F8FAFC;--border-color:#BFDBFE;--error:#DC2626;--font-display:"Playfair Display",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--space-12:6rem;--space-16:8rem;--max-width:1280px;--max-width-narrow:960px;--max-width-text:680px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--shadow-sm:0 1px 2px 0 rgba(30,58,138,0.05);--shadow-md:0 4px 6px -1px rgba(30,58,138,0.08),0 2px 4px -2px rgba(30,58,138,0.04);--shadow-lg:0 10px 15px -3px rgba(30,58,138,0.1),0 4px 6px -4px rgba(30,58,138,0.05);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--text-primary);background-color:var(--white);font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin-bottom:var(--space-3)}.section-title{font-size:clamp(2rem,4vw,3rem);text-align:center;margin-bottom:var(--space-8);position:relative;padding-bottom:var(--space-3)}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:linear-gradient(90deg,var(--gold) 0,var(--navy) 100%);border-radius:2px}.tarifs-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(30,58,138,.08)}.tarifs-table thead tr{background:linear-gradient(135deg,var(--navy) 0,#2E4A8A 100%);color:var(--white)}.tarifs-table th{text-align:left;padding:var(--space-4);font-family:var(--font-display);font-weight:600;font-size:.9375rem;letter-spacing:.02em}.tarifs-table th:not(:first-child){text-align:right}.tarifs-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast)}.tarifs-table tbody tr:last-child{border-bottom:none}.tarifs-table tbody tr:hover{background-color:var(--off-white)}.tarifs-table td{padding:var(--space-4);font-size:.9375rem}.tarifs-table td:not(:first-child){text-align:right;font-weight:500;color:var(--navy)}.tarif-saison{font-weight:600;color:var(--navy);font-family:var(--font-display);margin-bottom:4px}.tarif-periode{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}@media (max-width:768px){.tarifs-table thead{display:none}.tarifs-table,.tarifs-table tbody,.tarifs-table td,.tarifs-table tr{display:block;width:100%}.tarifs-table tr{margin-bottom:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(30,58,138,.08)}.tarifs-table tr:last-child{margin-bottom:0}.tarifs-table tbody tr:hover{background-color:var(--white)}.tarifs-table td:first-child{background:linear-gradient(135deg,var(--navy) 0,#2E4A8A 100%);color:var(--white);padding:var(--space-4);text-align:center}.tarifs-table td:first-child .tarif-saison{color:var(--white);font-size:1.125rem;margin-bottom:var(--space-1)}.tarifs-table td:first-child .tarif-periode{color:rgba(255,255,255,.85);font-size:.8125rem}.tarifs-table td:not(:first-child){padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;text-align:right}.tarifs-table td:last-child{border-bottom:none}.tarifs-table td:not(:first-child):before{content:attr(data-label);font-weight:600;color:var(--navy);font-family:var(--font-display);text-align:left}}.distances-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(30,58,138,.08)}.distances-table thead tr{background:linear-gradient(135deg,var(--navy) 0,#2E4A8A 100%);color:var(--white)}.distances-table th{text-align:left;padding:var(--space-4);font-family:var(--font-display);font-weight:600;font-size:.9375rem;letter-spacing:.02em}.distances-table th:not(:first-child){text-align:center}.distances-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast)}.distances-table tbody tr:last-child{border-bottom:none}.distances-table tbody tr:hover{background-color:var(--off-white)}.distances-table td{padding:var(--space-4);font-size:.9375rem}.distances-table td:not(:first-child){text-align:center;font-weight:500;color:var(--navy)}.distance-location{font-weight:600;color:var(--navy);font-family:var(--font-display)}@media (max-width:768px){.distances-table thead{display:none}.distances-table,.distances-table tbody,.distances-table td,.distances-table tr{display:block;width:100%}.distances-table tr{margin-bottom:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px rgba(30,58,138,.08)}.distances-table tr:last-child{margin-bottom:0}.distances-table tbody tr:hover{background-color:var(--white)}.distances-table td:first-child{background:linear-gradient(135deg,var(--navy) 0,#2E4A8A 100%);color:var(--white);padding:var(--space-4);text-align:center}.distances-table td:first-child .distance-location{color:var(--white);font-size:1.125rem}.distances-table td:not(:first-child){padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;text-align:right}.distances-table td:last-child{border-bottom:none}.distances-table td:not(:first-child):before{content:attr(data-label);font-weight:600;color:var(--navy);font-family:var(--font-display);text-align:left}}.contact-intro{text-align:center;max-width:600px;margin:0 auto var(--space-8);font-size:1.0625rem;color:var(--text-secondary);line-height:1.7}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-8)}.contact-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;transition:all var(--transition-base);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold)}.contact-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--off-white) 0,var(--gray-50) 100%);display:flex;align-items:center;justify-content:center;font-size:2rem;transition:all var(--transition-base)}.contact-card:hover .contact-icon{background:linear-gradient(135deg,var(--gold) 0,var(--gold-hover) 100%);transform:scale(1.1)}.contact-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.contact-value{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--navy);text-decoration:none;transition:color var(--transition-fast)}.contact-value:hover{color:var(--gold)}.contact-address{background:var(--off-white);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.contact-address-title{font-size:.875rem;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.contact-address-text{font-size:.9375rem;color:var(--text-secondary);line-height:1.8}footer{background:linear-gradient(135deg,var(--navy) 0,#2E4A8A 100%);color:rgba(255,255,255,.9);padding:var(--space-8) 0 var(--space-4);border-top:3px solid var(--gold)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin-bottom:var(--space-6)}.footer-section h3{color:var(--white);font-size:1.125rem;margin-bottom:var(--space-3);font-weight:600}.footer-section a,.footer-section p{color:rgba(255,255,255,.8);font-size:.9375rem;line-height:1.8;text-decoration:none;transition:color var(--transition-fast)}.footer-section a:hover{color:var(--white)}.footer-legal{padding-top:var(--space-6);margin-bottom:var(--space-4)}.footer-legal-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.footer-legal-links a{color:rgba(255,255,255,.8);font-size:.875rem;text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.footer-legal-links a:hover{color:var(--white);text-decoration:underline}.footer-separator{color:rgba(255,255,255,.4);font-size:.875rem}.footer-bottom{text-align:center;padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:rgba(255,255,255,.7)}.footer-stars{color:var(--gold);margin-left:var(--space-1)}.search-form-wrapper{background:var(--white);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(30,58,138,.15);padding:var(--space-6);margin:calc(var(--space-8) * -1) auto var(--space-8);max-width:1100px;position:relative;z-index:10;border:1px solid var(--border-color)}.search-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:end}@media (max-width:768px){.search-form-grid{grid-template-columns:1fr}.search-form-wrapper{margin:var(--space-4) auto;padding:var(--space-4)}}.search-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.search-form-label{font-size:.875rem;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}.search-form-input{padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);color:var(--navy);background:var(--white);transition:all var(--transition-fast);cursor:pointer}.search-form-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(161,98,7,.1)}.search-form-input:hover{border-color:var(--navy)}.search-form-button{width:100%;white-space:nowrap;padding:.875rem 2rem}.search-form-submit{justify-content:end}@media (max-width:768px){.search-form-button{padding:1rem}}.search-error,.search-loading{text-align:center;padding:var(--space-6);margin:var(--space-4) 0}.search-error{background:#FEE2E2;color:#991B1B;border-radius:var(--radius-lg)}.search-results-section{padding:var(--space-8) 0}.search-results-info{text-align:center;font-size:1.0625rem;color:var(--text-secondary);margin-bottom:var(--space-6);font-weight:500}.search-no-results{text-align:center;padding:var(--space-8);background:var(--off-white);border-radius:var(--radius-lg);border:2px dashed var(--border-color)}.search-no-results p{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--space-2);line-height:1.7}.gite-card-badge-success{background:rgba(34,197,94,.95)!important;color:white!important;border-color:rgba(34,197,94,.3)!important}.gite-card-badge-secondary{position:absolute;bottom:var(--space-3);left:var(--space-3);background:rgba(59,130,246,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-2) var(--space-3);border-radius:20px;font-size:.8125rem;font-weight:600;color:white;box-shadow:0 2px 8px rgba(0,0,0,.15);border:1px solid rgba(59,130,246,.3)}h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;line-height:1.1;margin-bottom:var(--space-4)}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:600}h3{font-size:clamp(1.5rem,3vw,2.25rem)}h3,h4{font-weight:500}h4{font-size:1.5rem}p{margin-bottom:1.2em;max-width:var(--max-width-text)}.lead{font-size:1.25rem;line-height:1.8;font-weight:300;max-width:600px}.lead,.small-text{color:var(--text-secondary)}.small-text{font-size:.875rem}a{color:var(--gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--gold-hover)}a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-sm)}.btn{font-family:var(--font-body);font-size:1rem;font-weight:500;padding:1rem 2.5rem;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;text-align:center;text-decoration:none;letter-spacing:.01em;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background-color:var(--gold);color:var(--white);border-color:var(--gold)}.btn-primary:hover{background-color:var(--gold-hover);border-color:var(--gold-hover);transform:translateY(-2px);box-shadow:0 8px 16px rgba(161,98,7,.3);color:var(--white)}.btn-secondary{background-color:transparent;color:var(--navy);border-color:var(--navy)}.btn-secondary:hover{background-color:var(--navy);color:var(--white)}.btn-ghost{background-color:transparent;border:none;color:var(--navy);padding:.5rem 1rem;font-size:.9375rem}.btn-ghost:hover{background-color:var(--off-white)}.container{max-width:var(--max-width)}.container,.container-narrow{margin:0 auto;padding:0 var(--space-4)}.container-narrow{max-width:var(--max-width-narrow)}.section{padding:var(--space-16) 0}.section-sm{padding:var(--space-12) 0}header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background-color:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:all var(--transition-base)}.navbar{display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--space-4);max-width:var(--max-width);margin:0 auto}.logo{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--navy);text-decoration:none;display:flex;flex-direction:column;line-height:1.1;letter-spacing:-.01em}.logo-subtitle{font-family:var(--font-body);font-size:.6875rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em;margin-top:.25rem}.nav-links{display:flex;gap:var(--space-4);list-style:none;margin:0;padding:0}.nav-link{color:var(--navy);font-size:.9375rem;font-weight:500;transition:color var(--transition-fast);position:relative;letter-spacing:.01em}.nav-link:after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:2px;background-color:var(--gold);transition:width var(--transition-base)}.nav-link:hover{color:var(--gold)}.nav-link:hover:after{width:100%}.hero-simple{background:linear-gradient(135deg,#1E3A8A,#3B5998);padding:var(--space-12) var(--space-4);text-align:center;color:var(--white)}.hero-carousel{position:relative;min-height:calc(100vh - 120px);max-height:800px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--off-white)}.hero-carousel-slides{position:absolute;inset:0;z-index:0}.hero-carousel-slide{position:absolute;inset:0;transition:opacity 1s cubic-bezier(.4,0,.2,1)}.hero-carousel-image{width:100%;height:100%;object-fit:cover;filter:brightness(.85) contrast(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,58,138,.35) 0,rgba(30,58,138,.5));z-index:1}.hero-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;background-color:rgba(255,255,255,.9);border:1px solid rgba(30,58,138,.1);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-carousel-arrow:hover{background-color:var(--navy);color:white;transform:translateY(-50%) scale(1.1)}.hero-carousel-arrow-left{left:var(--space-4)}.hero-carousel-arrow-right{right:var(--space-4)}.hero-carousel-arrow svg{width:28px;height:28px}.hero-carousel-dots{position:absolute;bottom:var(--space-4);left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:var(--space-2)}.hero-carousel-dot{width:12px;height:12px;border-radius:50%;background-color:rgba(255,255,255,.5);border:2px solid rgba(255,255,255,.8);cursor:pointer;transition:all var(--transition-base);padding:0}.hero-carousel-dot:hover{background-color:rgba(255,255,255,.8);transform:scale(1.2)}.hero-carousel-dot.active{background-color:white;width:32px;border-radius:6px}.hero-content{position:relative;z-index:2;text-align:center;color:var(--white);padding:var(--space-4);max-width:1000px}.hero-title{color:var(--white);font-size:clamp(2.75rem,7vw,5.5rem);margin-bottom:var(--space-4);text-shadow:0 2px 12px rgba(0,0,0,.2);font-weight:700;line-height:1.05}.hero-subtitle{font-size:clamp(1.125rem,2.5vw,1.375rem);margin-bottom:var(--space-6);color:rgba(255,255,255,.95);font-weight:300;line-height:1.7;text-shadow:0 1px 6px rgba(0,0,0,.15);max-width:700px;margin-left:auto;margin-right:auto}.hero-cta{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-8) 0}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);background-color:var(--gray-50);cursor:pointer;transition:transform var(--transition-base)}.gallery-item:hover{transform:scale(1.01);z-index:1}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.4,0,.2,1)}.gallery-item:hover img{transform:scale(1.04)}.gallery-large{grid-column:span 8;height:500px}.gallery-medium{grid-column:span 4;height:500px}.gallery-small{grid-column:span 6;height:350px}.gallery-tall{grid-column:span 4;height:600px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin:var(--space-6) 0}.feature-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(161,98,7,.05),transparent);transition:left .5s ease}.feature-card:hover:before{left:100%}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(30,58,138,.15);border-color:var(--gold)}.feature-icon-wrapper{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--off-white) 0,var(--gray-50) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);transition:all var(--transition-base)}.feature-card:hover .feature-icon-wrapper{background:linear-gradient(135deg,var(--gold) 0,var(--gold-hover) 100%);transform:scale(1.1)}.feature-icon{width:40px;height:40px;color:var(--gold);stroke-width:1.5;transition:color var(--transition-base)}.feature-card:hover .feature-icon{color:var(--white)}.feature-stars{display:flex;gap:4px}.feature-star{width:20px;height:20px;color:var(--gold);transition:color var(--transition-base)}.feature-card:hover .feature-star{color:var(--white)}.feature-title{font-size:1.25rem;margin-bottom:var(--space-2);font-family:var(--font-display);color:var(--navy);font-weight:600}.feature-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0}@media (max-width:640px){.features-grid{grid-template-columns:1fr;gap:var(--space-3)}.feature-card{padding:var(--space-4)}.feature-icon-wrapper{width:70px;height:70px}.feature-icon{width:35px;height:35px}}.card{background-color:var(--white);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);border:1px solid var(--border-color)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--gold)}.card-image{width:100%;height:280px;object-fit:cover}.card-content{padding:var(--space-4)}img{display:block;max-width:100%;height:auto}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-8);gap:var(--space-8);align-items:start}.bg-alt{background-color:var(--bg-secondary)}.bg-cream{background-color:var(--cream)}.text-center{text-align:center}.text-center>*{margin-left:auto;margin-right:auto}.mb-xl{margin-bottom:var(--space-8)}.mb-lg{margin-bottom:var(--space-6)}.mb-md{margin-bottom:var(--space-4)}.mb-sm{margin-bottom:var(--space-3)}.mt-xl{margin-top:var(--space-8)}.mt-lg{margin-top:var(--space-6)}.mt-md{margin-top:var(--space-4)}@media (max-width:900px){.nav-links{display:none}.editorial-gallery{grid-template-columns:1fr}.gallery-large,.gallery-medium,.gallery-small,.gallery-tall{grid-column:span 1;height:350px}.grid-2{grid-template-columns:1fr;gap:var(--space-6)}.section{padding:var(--space-12) 0}:root{--space-16:5rem;--space-12:4rem}}@media (max-width:640px){.container,.container-narrow{padding:0 var(--space-3)}.navbar{padding:1.25rem var(--space-3)}.hero{min-height:70vh}.btn{width:100%}.hero-cta{flex-direction:column}}.gite-cards-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-6);justify-items:center;max-width:1400px;margin-left:auto;margin-right:auto}@media (min-width:640px){.gite-cards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,380px));justify-content:center}}@media (min-width:1200px){.gite-cards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,380px));gap:var(--space-8)}}.gite-card{background-color:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;width:100%;max-width:380px}.gite-card:hover{box-shadow:0 16px 32px rgba(30,58,138,.2);transform:translateY(-8px);border-color:var(--gold)}.gite-card:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.gite-card:hover:after{transform:scaleX(1)}.gite-card-image-wrapper{width:100%;height:240px;overflow:hidden;background-color:var(--gray-50);position:relative}@media (min-width:1200px){.gite-card-image-wrapper{height:220px}}.gite-card-image{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.4,0,.2,1)}.gite-card:hover .gite-card-image{transform:scale(1.05)}.gite-card-badge{position:absolute;top:var(--space-3);right:var(--space-3);background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-2) var(--space-3);border-radius:20px;font-size:.8125rem;font-weight:600;color:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.15);border:1px solid rgba(161,98,7,.2)}.gite-amenities{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-1);gap:var(--space-1);margin:var(--space-3) 0;padding:var(--space-2);background:var(--off-white);border-radius:var(--radius-md);border:1px solid var(--border-color)}@media (min-width:1200px){.gite-amenities{gap:.25rem;padding:var(--space-1)}}.gite-amenity{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-secondary);transition:all var(--transition-fast);padding:.25rem;border-radius:var(--radius-sm)}@media (min-width:1200px){.gite-amenity{font-size:.6875rem}}.gite-amenity:hover{background:var(--white);color:var(--navy);transform:translateX(2px)}.gite-amenity-icon{font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (min-width:1200px){.gite-amenity-icon{font-size:.875rem}}.gite-amenity-text{font-weight:500;line-height:1.4}.gite-card-content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);flex:1 1}@media (min-width:1200px){.gite-card-content{padding:var(--space-4)}}.gite-card-header{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-3);text-align:center}.gite-card-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--navy);margin-bottom:var(--space-2);letter-spacing:.05em;text-transform:uppercase;line-height:1.2}.gite-card-subtitle{font-size:.8125rem;color:var(--text-secondary);font-weight:500;letter-spacing:.02em;margin:0}.gite-card-info{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.gite-info-item{display:flex;gap:var(--space-2);align-items:flex-start}.gite-info-icon{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px}.gite-info-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.gite-info-value{font-size:.9375rem;font-weight:500;color:var(--navy)}.gite-card-price{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);background:linear-gradient(135deg,var(--off-white) 0,var(--cream) 100%);border-radius:var(--radius-md);text-align:center}@media (min-width:1200px){.gite-card-price{padding:var(--space-3)}}.gite-price-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--navy);line-height:1}@media (min-width:1200px){.gite-price-value{font-size:1.875rem}}.gite-price-label{font-size:.875rem;color:var(--text-secondary)}.gite-card-description{font-size:.9375rem;line-height:1.6;color:var(--text-secondary);margin:0}.gite-card-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--navy);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body);width:100%}.gite-card-toggle:hover{background-color:var(--off-white);border-color:var(--gold);color:var(--gold)}.gite-toggle-icon{width:16px;height:16px}.gite-card-details{padding-top:var(--space-3);border-top:1px solid var(--border-color);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gite-details-title{font-size:.875rem;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.gite-features-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.gite-feature-item{display:flex;gap:var(--space-2);font-size:.875rem;color:var(--text-secondary);line-height:1.5}.gite-feature-bullet{color:var(--gold);font-weight:700}.gite-card-cta{margin-top:auto;width:100%}.gite-card .btn{padding:1.125rem 2rem;font-size:1.0625rem;font-weight:600;width:100%}@media (max-width:640px){.gite-card-info,.gite-cards-grid,.gite-features-list{grid-template-columns:1fr}}.cadre{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);overflow-x:auto}.tete{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--border-color)}.tete h3{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--navy);margin:0;min-width:180px}.fleches{display:flex;gap:var(--space-1)}.fleches button{background:var(--white);color:var(--navy);border:1px solid var(--border-color);width:40px;height:40px;padding:0;font-size:1.25rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;font-family:var(--font-body)}.fleches button:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}.fleches button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}table.grille{min-width:800px;font-size:.75rem;border-spacing:0;width:100%}table.grille th{padding:0 0 var(--space-2);text-align:center;border:none;color:var(--text-secondary);font-weight:500;font-size:.75rem}table.grille th.g{text-align:left;width:140px;font-size:.875rem;color:var(--navy);font-weight:600;padding-right:var(--space-2);position:-webkit-sticky;position:sticky;left:0;background:var(--white);z-index:2}table.grille td{padding:2px;border:none}.case{height:32px;border-radius:var(--radius-sm);background:#E8F4E8;transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent}.case:hover{transform:scale(1.1);z-index:1;box-shadow:var(--shadow-sm)}.case.libre{background:#E8F4E8;border-color:#C7E6C7}.case.reserve{background:var(--gold);border-color:var(--gold-hover)}.case.bloque{background:#E5E7EB;border-color:#D1D5DB}.leg{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color);font-size:.875rem;color:var(--text-secondary)}.leg span{display:flex;align-items:center;gap:var(--space-2)}.p{width:20px;height:20px;border-radius:var(--radius-sm);display:inline-block;border:1px solid transparent}.p.libre{background:#E8F4E8;border-color:#C7E6C7}.p.reserve{background:var(--gold);border-color:var(--gold-hover)}.p.bloque{background:#E5E7EB;border-color:#D1D5DB}.maj{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-color);font-size:.8125rem;color:var(--text-muted);font-style:italic;margin-bottom:0}.alerte{background:#FEF3C7;border:1px solid #fcd34d;color:#92400E;padding:var(--space-3);border-radius:var(--radius-md);font-size:.9375rem;margin:0 0 var(--space-4);display:flex;align-items:center;gap:var(--space-2)}@media (max-width:900px){.cadre{padding:var(--space-3)}.tete{gap:var(--space-2)}.tete h3{font-size:1.25rem;min-width:auto}table.grille{min-width:700px}table.grille th.g{width:100px;font-size:.8125rem}.case{height:28px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.admin-container{max-width:var(--max-width);margin:0 auto;padding:var(--admin-space-6) var(--admin-space-4);min-height:100vh;background:var(--admin-background);font-family:var(--admin-font-body)}.admin-header{background:var(--white);padding:var(--admin-space-6);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-sm);margin-bottom:var(--admin-space-6);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--admin-space-3);transition:box-shadow var(--admin-transition-base)}.admin-header h1{font-family:var(--admin-font-heading);font-size:1.75rem;font-weight:600;color:var(--admin-foreground);margin:0;letter-spacing:-.02em}.admin-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.admin-actions{display:flex;gap:var(--space-2);align-items:center}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-6)}.admin-card{background:var(--white);padding:var(--admin-space-6);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-sm);text-decoration:none;transition:all var(--admin-transition-base);display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--admin-border)}.admin-card:hover{transform:translateY(-2px);box-shadow:var(--admin-shadow-md);border-color:var(--admin-primary)}.admin-card-icon{font-size:2.5rem;margin-bottom:var(--admin-space-3);color:var(--admin-primary)}.admin-card h2{font-family:var(--admin-font-heading);font-size:1.25rem;font-weight:600;color:var(--admin-foreground);margin:0 0 var(--admin-space-1);letter-spacing:-.01em}.admin-card p{font-family:var(--admin-font-body);color:var(--admin-text-secondary);font-size:var(--admin-text-sm);margin:0;line-height:1.5}.admin-table-wrapper{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.admin-table code{background:var(--off-white);padding:.25rem .5rem;border-radius:var(--radius-sm);font-family:Monaco,Courier New,monospace;font-size:.8125rem;color:var(--navy)}.status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--admin-radius-full);font-family:var(--admin-font-body);font-size:var(--admin-text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.status-active{background:rgba(5,150,105,.15);color:#065F46;border-color:rgba(5,150,105,.3)}.status-inactive{background:rgba(217,119,6,.15);color:#92400E;border-color:rgba(217,119,6,.3)}.status-info{background:rgba(3,105,161,.15);color:#0C4A6E;border-color:rgba(3,105,161,.3)}.table-actions{display:flex;gap:var(--space-2)}.button-small{padding:var(--admin-space-2) var(--admin-space-3);font-size:var(--admin-text-sm);border:none;border-radius:var(--admin-radius-md);background:var(--admin-primary);color:var(--white);cursor:pointer;font-family:var(--admin-font-body);font-weight:500;transition:all var(--admin-transition-fast);min-height:40px;display:inline-flex;align-items:center;gap:var(--admin-space-1)}.button-small:hover{background:var(--admin-primary-hover);transform:translateY(-1px);box-shadow:var(--admin-shadow-sm)}.button-danger{background:var(--admin-error)}.button-danger:hover{background:#B91C1C;box-shadow:0 4px 12px rgba(220,38,38,.25)}.admin-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,118,110,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--admin-space-4)}.admin-modal-content{background:var(--white);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--admin-space-6);border:1px solid var(--admin-border)}.admin-modal-content h2{font-family:var(--admin-font-heading);font-size:1.5rem;font-weight:600;color:var(--admin-foreground);margin:0 0 var(--admin-space-6);letter-spacing:-.01em}.admin-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{gap:var(--space-1)}.form-group label{color:var(--admin-foreground);font-size:var(--admin-text-sm);font-family:var(--admin-font-body)}.form-group small{color:var(--admin-text-secondary);font-size:var(--admin-text-xs);margin-top:.25rem;font-family:var(--admin-font-body)}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group select{padding:var(--admin-space-2) var(--admin-space-3);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:var(--admin-text-base);font-family:var(--admin-font-body);transition:all var(--admin-transition-fast);min-height:44px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px rgba(15,118,110,.1)}.form-group input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;margin-right:.5rem}.form-row{grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}:root{--admin-font-heading:"Fira Code","SF Mono","Consolas",Menlo,Monaco,monospace;--admin-font-body:"Fira Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--admin-primary:#0F766E;--admin-primary-hover:#0D6559;--admin-secondary:#14B8A6;--admin-accent:#0369A1;--admin-accent-hover:#075985;--admin-success:#059669;--admin-warning:#D97706;--admin-error:#DC2626;--admin-background:#F0FDFA;--admin-foreground:#134E4A;--admin-border:#99F6E4;--admin-muted:#E8F0F3;--admin-text-secondary:#475569;--admin-space-1:0.5rem;--admin-space-2:1rem;--admin-space-3:1.5rem;--admin-space-4:2rem;--admin-space-5:2.5rem;--admin-space-6:3rem;--admin-space-8:4rem;--admin-text-xs:0.75rem;--admin-text-sm:0.875rem;--admin-text-base:1rem;--admin-text-lg:1.125rem;--admin-shadow-sm:0 1px 2px 0 rgba(15,118,110,0.05);--admin-shadow-md:0 4px 6px -1px rgba(15,118,110,0.1),0 2px 4px -2px rgba(15,118,110,0.05);--admin-shadow-lg:0 10px 15px -3px rgba(15,118,110,0.1),0 4px 6px -4px rgba(15,118,110,0.05);--admin-shadow-alert:0 4px 12px rgba(217,119,6,0.15);--admin-radius-sm:4px;--admin-radius-md:8px;--admin-radius-lg:12px;--admin-radius-full:9999px;--admin-transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--admin-transition-base:200ms cubic-bezier(0.4,0,0.2,1)}.admin-btn:focus-visible,.admin-card:focus-visible,.admin-stat-card:focus-visible,.admin-table tbody tr:focus-visible,.button-secondary:focus-visible,.button-small:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--admin-primary);outline-offset:2px;transition:outline-offset .15s cubic-bezier(.4,0,.2,1)}:focus:not(:focus-visible){outline:none}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:3px solid var(--admin-primary);outline-offset:1px;border-color:var(--admin-primary);box-shadow:0 0 0 3px rgba(15,118,110,.1)}.admin-btn,.admin-stat-card,.button-secondary,.button-small,.language-selector-button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--admin-space-2)}.admin-btn-sm{min-height:40px;padding:var(--admin-space-1) var(--admin-space-3)}.admin-btn svg,.admin-stat-card svg{min-width:16px;min-height:16px}.admin-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--admin-space-3);padding:var(--admin-space-8);color:var(--admin-text-secondary);min-height:300px}.admin-spinner{width:40px;height:40px;border:3px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:admin-spin 1s linear infinite}@keyframes admin-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.admin-spinner{animation:none;border-top-color:var(--admin-primary)}*,.admin-card,.button-secondary,.button-small{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-alert-warning{background:#FEF3C7!important;border:2px solid var(--admin-warning)!important;box-shadow:var(--admin-shadow-alert)!important}.admin-alert-info{background:#DBEAFE!important;border:2px solid var(--admin-accent)!important;box-shadow:0 4px 12px rgba(3,105,161,.15)!important}.admin-alert-success{background:#D1FAE5!important;border:2px solid var(--admin-success)!important;box-shadow:0 4px 12px rgba(5,150,105,.15)!important}.admin-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:20px;font-size:var(--admin-text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.025em}.admin-badge-success{background:rgba(5,150,105,.15);color:#065F46;border:1px solid rgba(5,150,105,.3)}.admin-badge-warning{background:rgba(217,119,6,.15);color:#92400E;border:1px solid rgba(217,119,6,.3)}.admin-badge-info{background:rgba(3,105,161,.15);color:#0C4A6E;border:1px solid rgba(3,105,161,.3)}.admin-badge-neutral{background:var(--admin-muted);color:var(--admin-foreground);border:1px solid var(--admin-border)}.admin-mb-2{margin-bottom:var(--admin-space-2)}.admin-mb-3{margin-bottom:var(--admin-space-3)}.admin-mb-4{margin-bottom:var(--admin-space-4)}.admin-mb-6{margin-bottom:var(--admin-space-6)}.admin-grid-responsive{display:grid;grid-gap:var(--admin-space-4);gap:var(--admin-space-4);grid-template-columns:1fr}@media (min-width:768px){.admin-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.admin-grid-responsive{grid-template-columns:repeat(3,1fr)}}.admin-stats-grid{display:grid;grid-gap:var(--admin-space-4);gap:var(--admin-space-4);grid-template-columns:1fr}@media (min-width:640px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.admin-stats-grid{grid-template-columns:repeat(3,1fr)}}.admin-header-title{font-family:var(--admin-font-heading);font-size:1.75rem;font-weight:600;color:var(--admin-foreground);margin:0;letter-spacing:-.02em}.admin-content{max-width:var(--max-width);margin:0 auto;font-family:var(--admin-font-body)}.admin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-4);padding-bottom:var(--admin-space-3);border-bottom:2px solid var(--admin-border)}.admin-card-title{font-family:var(--admin-font-heading);font-size:var(--admin-text-lg);font-weight:600;color:var(--admin-foreground);margin:0;letter-spacing:-.01em}.admin-card-content{padding:var(--admin-space-4)}.admin-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--admin-space-3);padding:var(--admin-space-8);text-align:center;color:var(--admin-text-secondary)}.admin-empty-icon{width:48px;height:48px;opacity:.5}.admin-empty-title{font-size:var(--admin-text-lg);font-weight:600;color:var(--admin-foreground)}.admin-empty-description{font-size:var(--admin-text-sm);color:var(--admin-text-secondary);max-width:400px}.admin-nav-section-title{font-family:var(--admin-font-heading);font-size:var(--admin-text-lg);font-weight:600;color:var(--admin-foreground);margin-bottom:var(--admin-space-3);letter-spacing:-.01em}.admin-stat-card{background:var(--white);padding:var(--admin-space-4);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-sm);transition:all var(--admin-transition-base);text-decoration:none;cursor:pointer;border:1px solid var(--admin-border)}.admin-stat-card:hover{box-shadow:var(--admin-shadow-md);transform:translateY(-2px);border-color:var(--admin-primary)}.admin-stat-label{font-family:var(--admin-font-body);font-size:var(--admin-text-sm);color:var(--admin-text-secondary);margin-bottom:var(--admin-space-1);font-weight:500}.admin-stat-value{font-family:var(--admin-font-heading);font-size:2rem;font-weight:700;color:var(--admin-foreground);margin-bottom:var(--admin-space-2);line-height:1;letter-spacing:-.03em}.admin-btn{font-family:var(--admin-font-body);font-size:var(--admin-text-sm);font-weight:500;padding:var(--admin-space-2) var(--admin-space-4);border-radius:var(--admin-radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--admin-transition-base);text-decoration:none;text-align:center}.admin-btn-primary{background:var(--admin-primary);color:var(--white);border-color:var(--admin-primary)}.admin-btn-primary:hover{background:var(--admin-primary-hover);border-color:var(--admin-primary-hover);box-shadow:var(--admin-shadow-sm)}.admin-btn-secondary{background:var(--white);color:var(--admin-foreground);border-color:var(--admin-border)}.admin-btn-secondary:hover{background:var(--admin-background);border-color:var(--admin-primary);box-shadow:var(--admin-shadow-sm)}.admin-btn-warning{background:var(--admin-warning);color:var(--white);border-color:var(--admin-warning)}.admin-btn-warning:hover{background:#B45309;border-color:#B45309;box-shadow:0 4px 12px rgba(217,119,6,.25)}.admin-btn-danger{background:var(--admin-error);color:var(--white);border-color:var(--admin-error)}.admin-btn-danger:hover{background:#B91C1C;border-color:#B91C1C;box-shadow:0 4px 12px rgba(220,38,38,.25)}.admin-table-container{overflow-x:auto;border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-family:var(--admin-font-body);font-size:var(--admin-text-sm)}.admin-table thead{background:linear-gradient(135deg,var(--admin-primary) 0,var(--admin-primary-hover) 100%);color:var(--white)}.admin-table th{padding:var(--admin-space-3) var(--admin-space-4);text-align:left;font-weight:600;font-family:var(--admin-font-heading);font-size:var(--admin-text-xs);text-transform:uppercase;letter-spacing:.05em}.admin-table tbody tr{border-bottom:1px solid var(--admin-border);transition:background-color var(--admin-transition-fast)}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background:var(--admin-background)}.admin-table td{padding:var(--admin-space-3) var(--admin-space-4);vertical-align:middle}.admin-table td,.button-secondary{font-family:var(--admin-font-body);color:var(--admin-foreground)}.button-secondary{padding:var(--admin-space-2) var(--admin-space-4);border:1px solid var(--admin-border);background:var(--white);border-radius:var(--admin-radius-md);font-weight:500;font-size:var(--admin-text-sm);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:var(--admin-space-1);transition:all var(--admin-transition-fast);min-height:44px}.button-secondary:hover{background:var(--admin-background);border-color:var(--admin-primary);box-shadow:var(--admin-shadow-sm)}.language-selector{position:relative;z-index:1000}.language-selector-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--navy);transition:all var(--transition-fast)}.language-selector-button:hover{border-color:var(--navy);box-shadow:0 2px 8px rgba(30,58,138,.1)}.language-flag{font-size:1.25rem;line-height:1}.language-code{min-width:2rem}.language-arrow{font-size:.625rem;opacity:.6}.language-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:200px;overflow:hidden}.language-option{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--white);border:none;border-bottom:1px solid var(--border-color);cursor:pointer;font-family:var(--font-body);font-size:.9375rem;color:var(--navy);transition:background-color var(--transition-fast);text-align:left}.language-option:last-child{border-bottom:none}.language-option:hover{background:var(--off-white)}.language-option.active{background:rgba(30,58,138,.05);font-weight:600}.language-name{flex:1 1}.language-check{color:var(--navy);font-weight:700}.options-selector{background:var(--off-white);padding:var(--space-3);border-radius:var(--radius-md);margin-top:var(--space-3);border:1px solid var(--border-color)}.option-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border-color);gap:var(--space-3)}.option-item:last-child{border-bottom:none;padding-bottom:0}.option-item:first-of-type{padding-top:0}.option-info{flex:1 1}.option-nom{font-weight:600;color:var(--navy);font-size:.9375rem;margin-bottom:.25rem}.option-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.25rem}.option-prix-unitaire{font-size:.75rem;color:var(--gold);font-weight:500}.option-selector-control{display:flex;align-items:center;gap:var(--space-2)}.option-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);background:var(--white);cursor:pointer;min-width:140px}.option-select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,138,.1)}.option-prix-calcule{font-weight:600;color:var(--navy);font-size:.9375rem;min-width:60px;text-align:right}@media (max-width:768px){.admin-header{flex-direction:column;align-items:flex-start}.admin-actions{width:100%;flex-direction:column}.admin-actions .button,.admin-actions .button-secondary{width:100%;text-align:center}.form-row{grid-template-columns:1fr}.admin-table-wrapper{overflow-x:auto}.admin-table{min-width:800px}.option-item{flex-direction:column;align-items:flex-start}.option-selector-control{width:100%;justify-content:space-between}.planning-header-stats{flex-direction:column!important;align-items:stretch!important;gap:var(--admin-space-3)!important}.planning-stats-row{width:100%!important;justify-content:space-between!important}.planning-controls{flex-direction:column!important;align-items:stretch!important}.planning-month-nav{width:100%;justify-content:center}.planning-filters{width:100%}.paiements-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.paiements-table{min-width:900px}.paiements-stats-grid{grid-template-columns:1fr!important}.paiements-filters{flex-wrap:wrap;gap:var(--admin-space-2)}.paiements-filters button{flex:1 1 45%;min-width:140px}@media (max-width:640px){.admin-table td:nth-child(n+5),.admin-table th:nth-child(n+5){display:none}}}@media (max-width:640px){.admin-header{flex-direction:column;align-items:flex-start;gap:var(--admin-space-3)}.admin-header-title{font-size:1.5rem}.admin-header-actions{width:100%}.admin-content{padding:var(--admin-space-3)}.admin-filters-row{flex-direction:column!important;gap:var(--admin-space-2)!important}.admin-filters-row button{width:100%!important;justify-content:center!important}.admin-modal-content{width:calc(100% - 2rem)!important;max-width:none!important;margin:1rem}.planning-day-header{font-size:.625rem!important;padding:4px 2px!important}.planning-reservation-bar{font-size:.625rem!important;padding:4px 6px!important;min-height:28px!important}.stats-grid{grid-template-columns:1fr!important}}@media (min-width:641px) and (max-width:1024px){.admin-content{padding:var(--admin-space-4)}.paiements-stats-grid,.stats-grid{grid-template-columns:repeat(2,1fr)!important}.admin-filters-row button{flex:0 1 auto;white-space:nowrap}}.contact-form{max-width:680px;margin:var(--space-6) auto 0;background:var(--white);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.05)}.form-row{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-4)}@media (min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}.form-row:has(.form-group:only-child){grid-template-columns:1fr}}@media (min-width:768px){.form-row:has(.form-group:nth-child(3)){grid-template-columns:repeat(3,1fr)}}.form-group{display:flex;flex-direction:column}.form-group label{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1)}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-size:1rem;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease;background:var(--white);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,138,.1)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer}.form-message{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;text-align:center}.form-message-success{background:#DCFCE7;color:#166534;border:1px solid #86efac}.form-message-error{background:#FEE2E2;color:#991B1B;border:1px solid #fca5a5}@media (max-width:640px){.contact-form{padding:var(--space-4)}}.PhoneInput{width:100%}.PhoneInputInput{width:100%;padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);color:var(--text-primary);background:var(--white);transition:all var(--transition-base)}.PhoneInputInput:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,138,.1)}.PhoneInputCountry{margin-right:.5rem}.PhoneInputCountryIcon{width:1.5rem;height:1.125rem;border-radius:2px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.PhoneInputCountrySelect{padding:.25rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;font-size:.875rem;transition:all var(--transition-base)}.PhoneInputCountrySelect:focus,.PhoneInputCountrySelect:hover{border-color:var(--navy);outline:none}.PhoneInputCountrySelectArrow{margin-left:.25rem;opacity:.5}.number-stepper{display:flex;align-items:stretch;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--white);transition:all var(--transition-base)}.number-stepper:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,138,.1)}.stepper-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--off-white);border:none;font-size:1.25rem;font-weight:600;color:var(--navy);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.stepper-btn:hover:not(:disabled){background:var(--gray-50);color:var(--navy-dark)}.stepper-btn:active:not(:disabled){background:var(--gray-100);transform:scale(.95)}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-minus{border-right:1px solid var(--border-color)}.stepper-plus{border-left:1px solid var(--border-color)}.stepper-input{flex:1 1;min-width:60px;text-align:center;border:none!important;background:transparent!important;font-size:1rem;font-weight:500;color:var(--navy);padding:0 var(--space-2);box-shadow:none!important}.stepper-input:focus{outline:none}.stepper-input::-webkit-inner-spin-button,.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}@media (max-width:640px){.stepper-btn{width:48px;height:48px;font-size:1.5rem}}@media (prefers-reduced-motion:no-preference){.stepper-btn:active:not(:disabled){animation:stepper-press .15s ease-out}}@keyframes stepper-press{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(.95)}}.dashboard-section{margin-bottom:var(--admin-space-6)}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-4);flex-wrap:wrap;gap:var(--admin-space-3)}.dashboard-section-title{font-family:var(--admin-font-heading);font-size:var(--admin-text-lg);font-weight:600;color:var(--admin-foreground);margin:0}.dashboard-alert{display:flex;align-items:flex-start;gap:var(--admin-space-3);padding:var(--admin-space-4);border-radius:var(--admin-radius-lg);border:1px solid;margin-bottom:var(--admin-space-4)}.dashboard-alert-warning{background:#FEF3C7;border-color:#F59E0B;color:#92400E}.dashboard-alert-icon{flex-shrink:0;margin-top:2px}.dashboard-alert-content{flex:1 1;min-width:0}.dashboard-alert-title{font-weight:600;font-size:var(--admin-text-base);margin:0 0 var(--admin-space-1) 0;color:inherit}.dashboard-alert-description{margin:0;font-size:var(--admin-text-sm);color:inherit;opacity:.9}.dashboard-alert-actions{flex-shrink:0;display:flex;gap:var(--admin-space-2)}.dashboard-reservations-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--admin-space-4);gap:var(--admin-space-4)}@media (min-width:768px){.dashboard-reservations-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-reservation-card{background:var(--white);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow-sm);overflow:hidden}.dashboard-reservation-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--admin-space-4);padding-bottom:var(--admin-space-3);border-bottom:2px solid var(--admin-border)}.dashboard-reservation-card-title{font-family:var(--admin-font-heading);font-size:var(--admin-text-base);font-weight:600;color:var(--admin-foreground);margin:0}.dashboard-reservation-card-content{padding:var(--admin-space-4)}.dashboard-reservation-empty{padding:var(--admin-space-6);text-align:center;color:var(--admin-text-secondary);font-size:var(--admin-text-sm)}.dashboard-reservation-list{display:flex;flex-direction:column;gap:var(--admin-space-3)}.dashboard-reservation-item{padding:var(--admin-space-3);background:var(--admin-background);border-radius:var(--admin-radius-md);border:1px solid var(--admin-border);transition:all var(--admin-transition-base)}.dashboard-reservation-item:hover{border-color:var(--admin-primary);box-shadow:var(--admin-shadow-sm)}.dashboard-reservation-gite{display:flex;align-items:center;gap:var(--admin-space-2);font-weight:600;font-size:var(--admin-text-base);color:var(--admin-foreground);margin-bottom:var(--admin-space-2)}.dashboard-reservation-gite svg{color:var(--admin-primary);flex-shrink:0}.dashboard-reservation-info{display:flex;align-items:center;gap:var(--admin-space-2);font-size:var(--admin-text-sm);color:var(--admin-text-secondary);margin-top:var(--admin-space-1)}.dashboard-reservation-info svg{flex-shrink:0}.admin-stat-meta{font-size:var(--admin-text-xs);color:var(--admin-text-secondary);display:flex;align-items:center;gap:var(--admin-space-1)}.admin-stat-meta svg{flex-shrink:0}@media (max-width:767px){.dashboard-alert{flex-direction:column}.dashboard-alert-actions{width:100%}.dashboard-alert-actions .admin-btn{flex:1 1}.dashboard-section-header{flex-direction:column;align-items:flex-start}.admin-table-container{border-radius:var(--admin-radius-md)}.admin-table td,.admin-table th{padding:var(--admin-space-2) var(--admin-space-3);font-size:var(--admin-text-xs)}.admin-badge{font-size:.7rem;padding:2px 6px}.admin-table-responsive{display:block;border:none}.admin-table-responsive thead{display:none}.admin-table-responsive tbody{display:block}.admin-table-responsive tr{display:block;margin-bottom:var(--admin-space-4);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);padding:var(--admin-space-3);box-shadow:var(--admin-shadow-sm)}.admin-table-responsive td{display:block;padding:var(--admin-space-2) 0;border:none;text-align:left!important}.admin-table-responsive td:before{content:attr(data-label);font-weight:600;color:var(--admin-text-secondary);font-size:var(--admin-text-xs);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:var(--admin-space-1)}.admin-table-responsive td:last-child{border-bottom:none;padding-top:var(--admin-space-3);margin-top:var(--admin-space-2);border-top:1px solid var(--admin-border)}.admin-table-compact-mobile{display:block}.admin-table-compact-mobile thead{display:none}.admin-table-compact-mobile tbody{display:block}.admin-table-compact-mobile tr{display:block;margin-bottom:var(--admin-space-3);background:var(--admin-background);border:1px solid var(--admin-border);border-radius:8px;padding:var(--admin-space-3)}.admin-table-compact-mobile td{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--admin-space-1) 0;border:none;gap:var(--admin-space-2)}.admin-table-compact-mobile td:before{content:attr(data-label);font-weight:600;color:var(--admin-text-secondary);font-size:var(--admin-text-xs);flex-shrink:0;min-width:80px}.admin-table-compact-mobile td>*{text-align:right;flex:1 1}}