/*
Theme Name: Luar do Río
Theme URI: https://luardorio.com
Author: Luar do Río
Description: Tema de restaurante con portada, identidad gallega, carta integrada, galería ampliable y reservas por teléfono. Editable desde el Personalizador, sin plugins obligatorios.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luar-do-rio
*/
:root{--navy:#091a2b;--navy-light:#142d40;--cream:#f7f4ec;--ink:#142b3b;--gold:#d5bd84;--muted:#626a6a;--line:#d9d5cb;--white:#fffdf7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(46px,5.8vw,86px)}h2{font-size:clamp(38px,4vw,60px);margin-bottom:28px}h3{font-size:34px;margin-bottom:20px}p{margin-bottom:24px}.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}section[id]{scroll-margin-top:100px}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.2em;font-weight:700;line-height:1.5;margin-bottom:24px;color:#75613c;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';width:32px;height:1px;background:currentColor;flex:none}.eyebrow.light{color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:17px 25px;background:var(--gold);color:var(--navy);font-weight:700;letter-spacing:.075em;font-size:11px;line-height:1.5;text-transform:uppercase;min-height:52px;border:1px solid var(--gold);transition:background .2s,transform .2s}.button:hover{background:#e8d39f;transform:translateY(-2px)}.button.outline{background:transparent;border-color:#ffffff8c;color:var(--white)}.button.outline:hover{background:#ffffff15}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.text-link{display:inline-flex;gap:26px;font-size:12px;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--gold);padding-block:10px}.light-link{color:var(--white)}a:focus-visible,button:focus-visible{outline:3px solid #b18a37;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:16px;z-index:99999;background:var(--white);padding:10px 20px}.skip-link:focus{top:12px}
.site-header{background:var(--navy);color:var(--white);position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff18}.header-inner{width:min(1328px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:96px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{height:74px;width:74px;object-fit:contain}.brand span{font-family:var(--serif);font-size:27px;line-height:1.1}.brand small{font-family:var(--sans);font-size:8px;letter-spacing:.2em;display:block;margin-top:9px;color:var(--gold)}nav{display:flex;align-items:center;gap:25px}nav a{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.12em;white-space:nowrap;padding-block:12px}nav a:hover{color:var(--gold)}.header-reserve{padding:14px 20px;min-height:46px}.nav-toggle{display:none}.admin-bar .site-header{top:32px}
.hero{position:relative;background:var(--navy);color:var(--white);min-height:680px;isolation:isolate;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,rgba(5,19,32,.90) 0%,rgba(5,19,32,.76) 37%,rgba(5,19,32,.30) 75%),linear-gradient(0deg,rgba(5,19,32,.66),transparent 50%);z-index:-1}.hero-content{padding-block:85px 120px}.hero h1{max-width:830px;margin-bottom:28px;text-wrap:balance}.hero-text{max-width:570px;font-size:17px;line-height:1.7;color:#efeee6;margin-bottom:35px}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;letter-spacing:.19em}.hero-bottom b{margin-left:22px;font-size:19px}.info-bar{background:var(--navy);color:var(--white)}.info-grid{display:grid;grid-template-columns:.8fr 1.5fr 1fr;padding-block:28px}.info-grid>div{padding:0 30px;border-left:1px solid #ffffff25}.info-grid>div:first-child{padding-left:0;border-left:0}.info-grid>div:last-child{padding-right:0}.info-grid span{font-size:9px;letter-spacing:.17em;color:var(--gold);display:block;margin-bottom:6px}.info-grid a,.info-grid p{font-size:13px;margin:0;line-height:1.6}
.story{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.river-frame{position:relative;width:90%;margin-left:30px;max-height:625px}.river-frame img{width:100%;height:625px;object-fit:cover;object-position:center 35%;border-radius:220px 220px 0 0}.river-frame:before{content:'';position:absolute;border:1px solid #b6a174;inset:-14px 14px 14px -14px;border-radius:230px 230px 0 0;z-index:-1}.image-note{position:absolute;bottom:25px;left:-30px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.19em;color:var(--muted)}.story-copy p:not(.eyebrow){color:var(--muted)}.signature{font-family:var(--serif);font-size:36px;font-style:italic;margin-block:36px 20px;color:#806e46}.signature small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.14em;font-style:normal;margin-top:10px}.gastronomy{background:#eeeae0}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin-bottom:0}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c1b0}.food-grid article{padding:40px 32px 5px;border-left:1px solid #c9c1b0}.food-grid article:first-child{border-left:0;padding-left:0}.food-grid article:last-child{padding-right:0}.food-number{display:block;font-family:var(--serif);font-size:42px;color:#a08d63;margin-bottom:38px}.food-grid .eyebrow{font-size:9px;margin-bottom:17px}.food-grid .eyebrow:before{display:none}.food-grid p:not(.eyebrow){font-size:14px;color:var(--muted)}
.menu-section{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.menu-section:before{content:'';position:absolute;width:850px;height:850px;border:1px solid #d5bd8420;border-radius:50%;top:45px;right:-430px;pointer-events:none}.menu-grid{display:grid;grid-template-columns:1fr .9fr;gap:110px;align-items:center;position:relative}.menu-copy h2{font-size:clamp(45px,4.5vw,68px)}.menu-copy>p:not(.eyebrow){color:#c7d0d5}.menu-categories{list-style:none;padding:0;margin:35px 0}.menu-categories li{border-bottom:1px solid #ffffff20;padding-block:10px;font-family:var(--serif);font-size:20px;display:flex;justify-content:space-between}.menu-categories li:after{content:'✦';font-size:10px;color:var(--gold)}.menu-copy .allergens{font-size:11px;margin-top:27px;max-width:400px}.menu-sheet{background:white;padding:12px;box-shadow:0 15px 60px #0003;transform:rotate(2deg);transition:transform .3s}.menu-sheet:hover{transform:rotate(0)}.menu-sheet img{width:100%;height:auto}.menu-sheet>span{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;padding:14px 7px 4px;color:var(--navy);font-weight:700}.spaces{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:90px}.spaces p:not(.eyebrow){color:var(--muted)}.space-photo{position:relative}.space-photo img{height:490px;object-fit:cover}.space-photo>span{position:absolute;bottom:0;left:0;background:var(--navy);color:var(--gold);font-size:8px;letter-spacing:.16em;padding:15px 24px}.gallery-section{border-top:1px solid var(--line);padding-top:85px}.gallery-empty{padding:50px 30px;text-align:center;border:1px solid var(--line);background:linear-gradient(110deg,#eee9dc,#f9f7f2)}.moon-mark{font-size:55px;color:#9f8550;line-height:1}.gallery-empty p{font-family:var(--serif);font-size:28px;margin:18px 0 7px;line-height:1.2}.gallery-empty>span:last-of-type{display:block;color:var(--muted);font-size:13px}.gallery-empty .text-link{display:table;margin:20px auto 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(transparent,#091a2bc0);color:white;font-size:11px;display:flex;justify-content:space-between}
.contact-section{background:var(--navy-light);color:var(--white)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:110px}.contact-grid h2{font-size:clamp(45px,5vw,68px)}.contact-grid p{color:#c9d2d6}.contact-phone{display:flex;gap:25px;align-items:center;font-family:var(--serif);font-size:clamp(26px,3vw,40px);padding:8px 0 25px;line-height:1.2;letter-spacing:-.025em}.contact-phone span{font-size:28px;color:var(--gold)}.contact-details{border-left:1px solid #ffffff25;padding-left:55px}.contact-details>div{margin-bottom:25px}.contact-details span{font-size:9px;color:var(--gold);letter-spacing:.17em;display:block;margin-bottom:10px}.contact-details p{font-size:15px;margin-bottom:4px}.location-note{font-family:var(--serif);font-size:19px;color:#8fa7b6;line-height:1.5;padding-top:8px}.site-footer{background:var(--navy);color:var(--white);padding-block:55px 25px}.footer-top{display:flex;justify-content:space-between;gap:65px;padding-bottom:35px}.footer-brand{font-family:var(--serif);font-size:36px;line-height:1.2;white-space:nowrap}.footer-brand small{font-family:var(--sans);display:block;font-size:8px;color:var(--gold);letter-spacing:.15em;margin-top:15px}.group p{font-size:9px;letter-spacing:.17em;color:var(--gold);margin-bottom:15px}.group>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 35px;font-size:12px}.group a:hover{color:var(--gold)}.footer-bottom{display:flex;align-items:center;gap:25px;border-top:1px solid #ffffff20;padding-top:23px;font-size:10px;color:#aebbc4}.footer-bottom>a:last-child{margin-left:auto}.mobile-actions{display:none}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:66px 70px 54px;background:#071320f5;color:white;border:none}.lightbox::backdrop{background:#071320e8}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:100%;width:auto;object-fit:contain}.lightbox-toolbar{position:absolute;inset:15px 22px auto;display:flex;justify-content:space-between;font-size:12px;align-items:center}.lightbox button{color:white;border:1px solid #ffffff55;background:#13283a;padding:10px 15px;cursor:pointer;min-height:44px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-caption{position:absolute;bottom:8px;left:65px;right:65px;text-align:center;font-size:12px;margin:0}.page-content{min-height:60vh;max-width:900px}.page-content h1{font-size:52px}.page-content article{margin-bottom:40px}.page-content a:not(.button){text-decoration:underline}.page-content ul{padding-left:25px}.wp-caption{max-width:100%}
@media(min-width:1600px){.hero{min-height:760px}}
@media(max-width:1150px){.header-inner{width:calc(100% - 40px);gap:18px}.brand span{font-size:23px}.brand img{width:60px;height:60px}nav{gap:15px}.header-reserve{padding:13px 16px}.wrap{width:calc(100% - 80px)}.story{gap:60px}.menu-grid{gap:65px}.spaces{gap:55px}.contact-grid{gap:60px}}
@media(max-width:960px){.header-inner{min-height:84px}.header-reserve{display:none}.nav-toggle{display:flex;align-items:center;gap:12px;background:none;color:white;border:1px solid #ffffff44;padding:10px 14px;font-size:11px;cursor:pointer}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:18px 30px;border-bottom:1px solid #ffffff30}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:13px 0;border-bottom:1px solid #ffffff15}.hero{min-height:660px}.hero-content{padding-block:80px 115px}.hero h1{max-width:720px}.info-grid{grid-template-columns:1fr 1.5fr}.info-grid>div:last-child{grid-column:1/-1;border:0;padding:18px 0 0;margin-top:15px;border-top:1px solid #ffffff20}.section{padding-block:85px}.story{gap:48px}.river-frame{margin-left:15px;width:92%}.river-frame img{height:530px}.story h2{font-size:42px}.section-heading{gap:45px}.food-grid article{padding-inline:23px}.food-grid h3{font-size:29px}.menu-grid{gap:40px}.menu-copy h2{font-size:48px}.spaces{gap:40px}.space-photo img{height:420px}.contact-details{padding-left:35px}.group>div{gap:8px 18px}}
@media(max-width:700px){html{scroll-padding-top:88px}body{font-size:15px;padding-bottom:58px}.wrap{width:calc(100% - 40px)}.section{padding-block:66px}.header-inner{width:calc(100% - 30px);min-height:76px}.brand img{height:54px;width:54px}.brand span{font-size:22px}.brand small{font-size:7px;letter-spacing:.17em;margin-top:7px}.nav-toggle{padding:8px 11px}.hero{min-height:620px}.hero-photo{object-position:53% center}.hero-shade{background:linear-gradient(90deg,#06182bd9,#06182b86),linear-gradient(0deg,#06182b99,transparent)}.hero-content{padding-block:60px 115px}.hero h1{font-size:49px;max-width:540px;margin-bottom:25px}.hero .eyebrow{font-size:9px;margin-bottom:24px}.hero-text{font-size:15px;max-width:470px;margin-bottom:30px}.button{padding:15px 18px;gap:13px;font-size:10px}.hero .actions{gap:10px}.hero-bottom{bottom:25px;font-size:7px;letter-spacing:.12em}.hero-bottom b{margin-left:8px}.info-grid{display:grid;grid-template-columns:1fr;padding-block:23px;gap:17px}.info-grid>div,.info-grid>div:first-child,.info-grid>div:last-child{border:0;border-bottom:1px solid #ffffff1f;padding:0 0 14px;margin:0;grid-column:auto}.info-grid>div:last-child{border:0;padding-bottom:0}.info-grid a,.info-grid p{font-size:13px}.story{grid-template-columns:1fr;gap:45px}.river-frame{width:calc(100% - 36px);margin-left:26px}.river-frame img{height:475px;object-position:center 32%}.image-note{left:-23px;font-size:7px}.story-copy{padding-top:4px}.story h2{font-size:42px}.signature{margin-block:28px 16px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}h2{font-size:41px}.section-heading>p{max-width:500px}.food-grid{grid-template-columns:1fr}.food-grid article,.food-grid article:first-child,.food-grid article:last-child{border:0;border-bottom:1px solid #c9c1b0;padding:28px 0 25px}.food-number{font-size:35px;margin-bottom:15px}.food-grid h3{font-size:34px}.food-grid .eyebrow{margin-bottom:15px}.food-grid p:not(.eyebrow){font-size:15px}.menu-grid{grid-template-columns:1fr;gap:35px}.menu-copy h2{font-size:47px}.menu-sheet{transform:none;max-width:460px;margin:0 auto;width:100%}.menu-copy .allergens{margin-bottom:0}.spaces{grid-template-columns:1fr;gap:35px}.space-photo img{height:320px}.gallery-empty{padding:38px 20px}.gallery-empty p{font-size:26px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item span{font-size:9px;padding:12px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-grid h2{font-size:46px}.contact-phone{font-size:36px}.contact-details{border-left:0;border-top:1px solid #ffffff25;padding:30px 0 0}.contact-details>div:last-child{margin-bottom:0}.footer-top{display:block;padding-bottom:28px}.group{margin-top:35px}.group>div{gap:10px 15px;font-size:11px}.footer-brand{font-size:33px}.footer-bottom{gap:14px;font-size:9px;flex-wrap:wrap}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--gold);height:58px;box-shadow:0 -3px 15px #0002}.mobile-actions a{width:65%;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:11px;letter-spacing:.06em;font-weight:700}.mobile-actions a:last-child{width:35%;background:var(--navy);color:var(--white)}.lightbox{padding:70px 45px 65px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox button{padding:9px}.lightbox-caption{left:45px;right:45px;bottom:18px}.admin-bar .site-header{top:46px}.page-content h1{font-size:42px}}
@media(max-width:380px){.hero h1{font-size:43px}.hero{min-height:650px}.hero .actions{align-items:flex-start;flex-direction:column}.brand span{font-size:20px}.brand img{width:46px;height:46px}.contact-phone{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.native-menu{background:var(--cream);border-top:1px solid var(--line)}.menu-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:45px}.menu-tabs button{background:transparent;border:1px solid #c8c5b9;color:var(--ink);padding:12px 18px;font-size:11px;letter-spacing:.035em;min-height:44px;cursor:pointer}.menu-tabs button.active{background:var(--navy);border-color:var(--navy);color:var(--white)}.menu-tabs button:hover{border-color:var(--navy)}.native-menu-layout{display:grid;grid-template-columns:1fr 320px;gap:70px;align-items:start}.menu-category{margin-bottom:50px;scroll-margin-top:130px}.menu-category[hidden]{display:none}.menu-category h3{font-size:34px;color:var(--navy);padding-bottom:18px;border-bottom:1px solid #b5a37d;display:flex;align-items:center;gap:16px}.menu-category h3:before{content:'✦';font-size:17px;color:#9d834c}.dish-list{margin:0}.dish{display:grid;grid-template-columns:1fr auto;gap:30px;border-bottom:1px solid #d9d5cb;padding:18px 0}.dish dt{min-width:0;line-height:1.4}.dish-name{display:block;font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.dish-english{font-size:11px;display:block;color:#707877;margin-top:6px;line-height:1.6}.dish-description{font-size:13px;display:block;margin-top:8px;color:#53615d;line-height:1.6}.dish dd{margin:0;font-family:var(--serif);font-size:21px;color:#796337;white-space:nowrap;line-height:1.4;font-variant-numeric:tabular-nums}.menu-art{position:sticky;top:125px;background:var(--navy);color:var(--white);overflow:hidden}.menu-art img{width:100%;height:465px;object-fit:cover;object-position:top}.menu-art>div{padding:25px 27px 28px;border-top:1px solid #d5bd8440}.menu-art p{font-family:var(--serif);font-size:27px;line-height:1.2;margin-bottom:12px}.menu-art .text-link{font-size:10px}.menu-allergens{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;margin:0}.native-menu .section-heading{margin-bottom:32px}@media(max-width:960px){.native-menu-layout{grid-template-columns:1fr 250px;gap:40px}.menu-art img{height:365px}.menu-art>div{padding:20px}.dish{gap:20px}.dish-name{font-size:20px}.menu-category h3{font-size:29px}.dish dd{font-size:20px}}@media(max-width:700px){.native-menu-layout{grid-template-columns:1fr;gap:35px}.menu-art{position:relative;top:auto;display:grid;grid-template-columns:110px 1fr;align-items:center}.menu-art img{height:170px}.menu-art>div{border:0;padding:20px}.menu-art p{font-size:25px}.menu-tabs{gap:8px;margin-bottom:35px}.menu-tabs button{padding:10px 13px;font-size:10px}.dish{gap:14px;padding:17px 0}.dish-name{font-size:20px}.dish dd{font-size:19px}.dish-english{font-size:10px}.menu-category{margin-bottom:38px}.menu-category h3{font-size:30px}.menu-allergens{margin-top:30px}}

/* Luar 1.1: photography, handwritten brand, and paired spaces. */
@font-face{font-family:'Luar Script';src:url('assets/fonts/Allura-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.brand>span{font-family:'Luar Script',cursive;font-size:40px;line-height:.95;letter-spacing:0}.brand small{font-size:8px;letter-spacing:.2em;line-height:1.4;margin-top:9px}.footer-brand{font-family:'Luar Script',cursive;font-size:48px;letter-spacing:0}.signature{font-family:'Luar Script',cursive;font-size:48px;font-style:normal;line-height:1.1}.signature small{line-height:1.5}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.14) 52%,rgba(0,0,0,.035)),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%)}
.hero h1,.hero-text,.hero .eyebrow,.hero-bottom{ text-shadow:0 2px 3px rgba(0,0,0,.95),0 4px 12px rgba(0,0,0,.75)}.hero-text{color:#fff}.hero .button.outline{text-shadow:0 2px 4px #000;background:rgba(0,0,0,.12)}
.space-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.space-photo{margin:0}.space-photo:nth-child(2){margin-top:48px}.space-photos .space-photo img{width:100%;height:480px;object-fit:cover;object-position:center}.space-photo figcaption{position:absolute;bottom:0;left:0;background:var(--navy);color:var(--gold);font-size:8px;letter-spacing:.16em;padding:12px 18px}
@media(max-width:1150px){.brand>span{font-size:35px}.space-photos .space-photo img{height:410px}}
@media(max-width:960px){.brand>span{font-size:35px}.space-photos{gap:12px}.space-photos .space-photo img{height:350px}}
@media(max-width:700px){.brand>span{font-size:34px}.brand small{font-size:7px;letter-spacing:.17em}.space-photos{gap:12px}.space-photo:nth-child(2){margin-top:30px}.space-photos .space-photo img{height:350px}.space-photo figcaption{font-size:7px;padding:10px 12px}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.1)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 55%)}.contact-grid h2{font-size:42px}.footer-brand{font-size:44px}}
@media(max-width:380px){.brand>span{font-size:30px}.space-photos .space-photo img{height:290px}}
