:root{
  --corinto:#7A263A;
  --corinto2:#9C3B52;
  --marfil:#F3E9DA;
  --papel:#D9C6AA;
  --madera:#261712;
  --madera2:#3A241B;
  --tinta:#211611;
  --azulfb:#1877F2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--marfil);
  background:
    linear-gradient(rgba(24,13,9,.91),rgba(24,13,9,.95)),
    url("../jpg/portada_frisa_v3.jpg") center top/cover fixed no-repeat;
  font-family:Georgia,"Times New Roman",serif;
}
a{color:inherit}
.site-header{
  position:sticky;top:0;z-index:1000;
  display:flex;align-items:center;gap:28px;
  padding:16px clamp(18px,4vw,64px);
  background:rgba(28,15,10,.91);
  border-bottom:1px solid rgba(243,233,218,.14);
  backdrop-filter:blur(7px);
}
.brand{min-width:230px;text-decoration:none;color:var(--marfil)}
.brand .name{display:block;font-size:clamp(31px,3.1vw,48px);line-height:.9;font-style:italic}
.brand .tag{display:block;margin-top:6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#dfccb1}
.site-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.8vw,26px);flex-wrap:wrap}
.site-nav a{font-size:clamp(14px,1.15vw,18px);text-decoration:none;padding:8px 0 5px;border-bottom:3px solid transparent}
.site-nav a:hover,.site-nav a.active{color:#fff;border-bottom-color:var(--corinto2)}
.fb{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:35px;height:35px;border-radius:50%;padding:0!important;border:0!important;
  background:var(--azulfb);color:#fff!important;font:bold 25px Arial,sans-serif;
}
.hero{
  min-height:78vh;
  display:flex;align-items:flex-end;
  padding:clamp(24px,5vw,70px);
  background:
    linear-gradient(to bottom,rgba(15,8,5,.23),rgba(15,8,5,.08) 45%,rgba(15,8,5,.61)),
    url("../jpg/portada_frisa_v3.jpg") center center/cover no-repeat;
}
.hero-copy{max-width:650px;padding:8px 0 14px}
.eyebrow{color:#e1c7a4;letter-spacing:.17em;text-transform:uppercase;font-size:12px}
h1,h2,h3{font-weight:normal}
h1{font-size:clamp(38px,5.7vw,76px);line-height:1.02;margin:10px 0 12px}
.hero p{font-size:clamp(17px,1.6vw,22px);line-height:1.55;margin:0;color:#f5ecdf;text-shadow:0 2px 10px rgba(0,0,0,.45)}
main{max-width:1180px;margin:0 auto;padding:clamp(38px,6vw,78px) clamp(18px,4vw,48px)}
.section-title{margin:0 0 14px;font-size:clamp(30px,4vw,48px);color:#fff}
.lead{font-size:clamp(17px,1.45vw,21px);line-height:1.75;color:#e8dccc;max-width:850px}
.accent{color:#d391a0}
.rule{width:72px;height:4px;background:var(--corinto);border:0;margin:18px 0 28px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{
  background:linear-gradient(145deg,rgba(70,42,29,.92),rgba(42,25,18,.94));
  border:1px solid rgba(243,233,218,.12);
  border-radius:4px;overflow:hidden;box-shadow:0 16px 34px rgba(0,0,0,.18)
}
.card img{width:100%;height:230px;object-fit:cover;display:block}
.card-body{padding:22px}
.card h3{font-size:25px;margin:0 0 9px;color:#fff}
.card p{margin:0;color:#decebb;line-height:1.6}
.card a.more{display:inline-block;margin-top:17px;color:#e8a7b5;text-decoration:none;border-bottom:1px solid #a45a6b}
.panel{
  background:rgba(61,36,26,.86);border:1px solid rgba(243,233,218,.12);
  padding:clamp(24px,4vw,42px);box-shadow:0 16px 40px rgba(0,0,0,.18)
}
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.two img{width:100%;display:block;max-height:520px;object-fit:cover}
.prose{font-size:17px;line-height:1.8;color:#eadfce}
.prose strong{color:#fff;font-weight:normal}
.subnav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}
.subnav a{text-decoration:none;padding:10px 14px;background:rgba(122,38,58,.22);border:1px solid rgba(211,145,160,.3)}
.subnav a.active,.subnav a:hover{background:var(--corinto)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gallery figure{margin:0;overflow:hidden;background:#1b100c}
.gallery img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .3s ease}
.gallery figure:hover img{transform:scale(1.025)}
.location-box,.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.info{padding:28px;background:rgba(55,32,23,.88);border-left:5px solid var(--corinto)}
.info h2{font-size:34px;margin:0 0 15px}
.info p{font-size:18px;line-height:1.7;color:#e6d9c7}
.info a{color:#f0b5c0}
.cta{display:inline-block;padding:12px 18px;background:var(--corinto);color:#fff;text-decoration:none;margin-top:8px}
footer{
  padding:24px clamp(18px,4vw,64px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:#bda890;background:#140b08;border-top:1px solid rgba(243,233,218,.09);font-size:14px
}
@media(max-width:900px){
  .site-header{align-items:flex-start;flex-direction:column;gap:10px}
  .site-nav{margin-left:0;justify-content:flex-start}
  .grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two,.location-box,.contact-box{grid-template-columns:1fr}
  .hero{min-height:66vh}
}
@media(max-width:600px){
  .brand{min-width:0}
  .grid,.gallery{grid-template-columns:1fr}
  .gallery img{height:auto;max-height:420px}
  .site-nav{gap:11px 17px}
  .site-nav a{font-size:14px}
  main{padding-left:16px;padding-right:16px}
}


/* Enlaces de texto a Facebook */
a.facebook-link,
a[href*="facebook.com"]:not(.fb) {
  color: #1877F2 !important;
  font-weight: 600;
  text-decoration: none;
}
a.facebook-link:hover,
a[href*="facebook.com"]:not(.fb):hover {
  color: #1877F2 !important;
  text-decoration: underline;
}

/* FRISA v7B — caligrafía clásica compatible con Windows */
.site-nav > a:not(.fb){
  font-family:"Edwardian Script ITC","Palace Script MT","Kunstler Script",
              "Monotype Corsiva","Segoe Script",cursive !important;
  color:#D4AF37 !important;
  font-size:clamp(25px,2vw,34px) !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  line-height:1.1;
  text-shadow:0 1px 1px rgba(0,0,0,.8),0 0 7px rgba(212,175,55,.12);
  border-bottom:3px solid transparent !important;
  transition:color .2s ease,text-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
.site-nav > a:not(.fb):hover,
.site-nav > a:not(.fb).active{
  color:#F3D878 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.7),0 0 11px rgba(243,216,120,.34);
  border-bottom-color:#D4AF37 !important;
}
@media(max-width:900px){
  .site-nav > a:not(.fb){font-size:25px !important}
}

/* FRISA v7D — distintivo informativo de negocio centenario en la home */
.hero{position:relative}
.centenario-badge{
  position:absolute;
  right:clamp(18px,4vw,64px);
  bottom:clamp(22px,4vw,52px);
  display:flex;
  align-items:center;
  gap:12px;
  max-width:330px;
  padding:11px 15px 11px 11px;
  color:#f3e9da;
  text-decoration:none;
  background:rgba(31,17,12,.82);
  border:1px solid rgba(212,175,55,.52);
  border-radius:3px;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  backdrop-filter:blur(5px);
}
.centenario-badge:hover{
  border-color:#D4AF37;
  background:rgba(45,25,17,.92);
}
.centenario-100{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:58px;
  border:1px solid #D4AF37;
  border-radius:50%;
  color:#D4AF37;
  font:600 21px Georgia,"Times New Roman",serif;
}
.centenario-copy{display:flex;flex-direction:column;line-height:1.2}
.centenario-copy strong{
  color:#D4AF37;
  font-size:15px;
  font-weight:normal;
  letter-spacing:.025em;
}
.centenario-copy small{
  margin-top:5px;
  color:#eadfce;
  font-size:12px;
  letter-spacing:.035em;
}
@media(max-width:760px){
  .hero{padding-bottom:132px}
  .centenario-badge{
    left:18px;
    right:18px;
    bottom:20px;
    max-width:360px;
  }
}

/* FRISA v7F — segundo enlace institucional: Comunidad de Madrid */
.centenario-badge{flex-wrap:wrap}
.centenario-links{
  flex-basis:100%;
  margin-left:70px;
  margin-top:-5px;
  font:11px Arial,sans-serif;
  color:#cdbda8;
}
.centenario-link-label{color:#cdbda8}
.centenario-sep{padding:0 5px;color:#8f7863}
.centenario-community{
  color:#e3c45f !important;
  text-decoration:none;
}
.centenario-community:hover{text-decoration:underline}
@media(max-width:760px){
  .centenario-links{margin-left:70px}
}

/* FRISA v7L — PNG maestro intacto; DESDE 1917 como texto web */
.brand-logo-master{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:300px;
}
.brand-logo-master img{
  display:block;
  width:clamp(250px,23vw,365px);
  height:auto;
  max-height:112px;
  object-fit:contain;
  object-position:left bottom;
}
.brand-logo-master .tag{
  margin-top:0;
  margin-left:78px;
  color:#d8bd7b;
  font:600 11px Georgia,"Times New Roman",serif;
  letter-spacing:.24em;
  white-space:nowrap;
}
@media(max-width:900px){
  .brand-logo-master{min-width:0}
  .brand-logo-master img{width:285px;max-height:100px}
  .brand-logo-master .tag{margin-left:60px}
}
@media(max-width:600px){
  .brand-logo-master img{width:235px;max-height:86px}
  .brand-logo-master .tag{margin-left:48px;font-size:9px;letter-spacing:.18em}
}
.gallery .zoomable img{cursor:zoom-in}.no-scroll{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:54px 72px;background:rgba(10,6,4,.94)}.lightbox.open{display:flex}.lightbox-image{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 18px 55px rgba(0,0,0,.55)}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;z-index:5001;border:0;color:#D4AF37;background:rgba(31,17,12,.78);cursor:pointer}.lightbox-close{top:18px;right:24px;width:46px;height:46px;border-radius:50%;font-size:34px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:50px;height:70px;font-size:50px}.lightbox-prev{left:14px}.lightbox-next{right:14px}@media(max-width:600px){.lightbox{padding:60px 12px}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none;height:50px}}
/* FRISA v7N — galería clasificada */
.gallery-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 22px;
}
.gallery-filter{
  border:1px solid rgba(212,175,55,.42);
  background:rgba(47,28,20,.78);
  color:#e6d6bf;
  padding:10px 15px;
  cursor:pointer;
  font:15px Georgia,"Times New Roman",serif;
  transition:.2s ease;
}
.gallery-filter:hover,
.gallery-filter.active{
  color:#fff3ce;
  background:#7A263A;
  border-color:#D4AF37;
}
.classified-gallery figure{
  position:relative;
  background:#1b100c;
}
.classified-gallery figcaption{
  padding:10px 12px 12px;
  color:#d9c8b2;
  font-size:14px;
  line-height:1.35;
  background:rgba(35,20,14,.92);
}
.classified-gallery figure[style*="display: none"]{display:none!important}
@media(max-width:600px){
  .gallery-filter{width:100%;text-align:left}
}

/* FRISA v7O — acceso destacado a la galería de Facebook */
.fb-gallery-card{
  display:flex;
  align-items:center;
  gap:14px;
  max-width:460px;
  margin:18px 0 8px auto;
  padding:13px 16px;
  text-decoration:none;
  border:1px solid rgba(24,119,242,.72);
  background:rgba(18,50,92,.48);
  box-shadow:0 7px 20px rgba(0,0,0,.22);
  transition:.2s ease;
}
.fb-gallery-card:hover{
  transform:translateY(-2px);
  background:rgba(24,119,242,.18);
  border-color:#1877F2;
}
.fb-gallery-icon{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 52px;
  height:52px;
  border-radius:8px;
  background:#1877F2;
  color:white;
}
.fb-f{
  font:bold 34px Arial,sans-serif;
  line-height:1;
  transform:translateY(2px);
}
.fb-photo{
  position:absolute;
  right:5px;
  bottom:4px;
  font:18px Arial,sans-serif;
  color:white;
}
.fb-gallery-copy{
  display:flex;
  flex:1;
  flex-direction:column;
}
.fb-gallery-copy strong{
  color:#eaf2ff;
  font:600 17px Georgia,"Times New Roman",serif;
}
.fb-gallery-copy small{
  margin-top:4px;
  color:#bcd5f5;
  font-size:13px;
}
.fb-gallery-arrow{
  color:#75adf8;
  font:38px Georgia,"Times New Roman",serif;
}
@media(max-width:600px){
  .fb-gallery-card{margin:18px 0 8px;max-width:none}
}

/* FRISA v7Q — Facebook discreto a la altura del menú de imágenes */
.gallery-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:28px 0 22px;
}
.gallery-toolbar .gallery-filters{margin:0}
.fb-gallery-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  padding:7px 10px;
  color:#b8cbe7;
  text-decoration:none;
  font-size:12px;
  border:1px solid rgba(24,119,242,.34);
  background:rgba(24,119,242,.07);
  border-radius:3px;
  transition:.2s ease;
}
.fb-gallery-mini:hover{
  color:#e7f0ff;
  border-color:rgba(24,119,242,.72);
  background:rgba(24,119,242,.13);
}
.fb-mini-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:3px;
  color:#fff;
  background:#1877F2;
  font:bold 18px Arial,sans-serif;
  line-height:1;
}
@media(max-width:900px){
  .gallery-toolbar{align-items:flex-start;flex-direction:column}
  .fb-gallery-mini{align-self:flex-start}
}

/* FRISA v7U — una sola tarjeta para conjuntos de imágenes */
.gallery-subimage{display:none!important}
.photo-count{
  float:right;
  color:#bca477;
  font-size:11px;
  font-style:italic;
  opacity:.9;
}

/* FRISA v7V — entrada visual a las tres familias de trabajos */
.gallery-category-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:30px 0 14px;
}
.category-card{
  position:relative;
  display:block;
  min-height:205px;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  border:1px solid rgba(196,157,67,.48);
  background:#1d100b;
  box-shadow:0 9px 24px rgba(0,0,0,.24);
  text-align:left;
}
.category-card img{
  display:block;
  width:100%;
  height:205px;
  object-fit:cover;
  transition:transform .45s ease,filter .3s ease;
}
.category-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(24,10,7,.96) 0%,rgba(24,10,7,.50) 36%,rgba(24,10,7,.05) 72%);
  pointer-events:none;
}
.category-card-overlay{
  position:absolute;
  z-index:2;
  left:0; right:0; bottom:0;
  padding:18px 17px 15px;
}
.category-card-overlay strong{
  display:block;
  color:#ead7a0;
  font:600 19px Georgia,"Times New Roman",serif;
  line-height:1.15;
}
.category-card-overlay small{
  display:block;
  margin-top:5px;
  color:#c9bca9;
  font:12px Georgia,"Times New Roman",serif;
  letter-spacing:.08em;
}
.category-card:hover,
.category-card.active{
  border-color:#d4af37;
  box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 0 1px rgba(122,38,58,.55);
}
.category-card:hover img{transform:scale(1.045)}
.category-card.active .category-card-overlay{background:rgba(92,25,42,.38)}
.gallery-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:0 0 22px;
}
.gallery-show-all{
  border:0;
  padding:6px 0;
  background:transparent;
  color:#c9ad6a;
  cursor:pointer;
  font:13px Georgia,"Times New Roman",serif;
  text-decoration:underline;
  text-underline-offset:4px;
}
.gallery-show-all:hover{color:#f0d78b}
@media(max-width:800px){
  .gallery-category-cards{grid-template-columns:1fr}
  .category-card,.category-card img{height:190px}
  .gallery-actions{align-items:flex-start;flex-direction:column}
}

/* FRISA v7W — el menú visual queda limpio; la galería aparece al elegir */
.gallery-hidden{display:none!important}
.classified-gallery{
  scroll-margin-top:140px;
}
.gallery-category-cards{
  margin-bottom:12px;
}
.gallery-actions{
  margin-bottom:10px;
}

/* FRISA v7X — elimina resaltados azules del navegador en galería/lightbox */
.gallery img,
.gallery figure,
.category-card,
.gallery-show-all,
.lightbox-image,
.lightbox button,
.fb-gallery-mini {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

.gallery .zoomable img,
.lightbox-image {
  outline: none !important;
  border: 0 !important;
}

.gallery .zoomable img:focus,
.gallery .zoomable img:focus-visible,
.category-card:focus,
.category-card:focus-visible,
.gallery-show-all:focus,
.gallery-show-all:focus-visible,
.lightbox button:focus,
.lightbox button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.gallery .zoomable img {
  cursor: zoom-in;
}

.lightbox-image {
  cursor: default;
}

.lightbox-prev,
.lightbox-next,
.lightbox-close {
  color: #D4AF37 !important;
  outline: none !important;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-close:hover {
  color: #F0D77B !important;
}

/* Evita selección azul accidental al arrastrar o hacer doble clic */
.gallery,
.lightbox {
  -webkit-user-select: none;
  user-select: none;
}

/* FRISA v7Y — menú principal de Imágenes limpio */
.gallery-hidden{
  display:none !important;
}
.gallery-control-hidden{
  display:none !important;
}
.gallery-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:10px 0 18px;
  min-height:42px;
}
.gallery-show-all{
  color:#d1b66e;
  font-size:12px;
}

/* Facebook: pequeño, actual y elegante */
.fb-gallery-modern{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px 8px 8px;
  border:1px solid rgba(24,119,242,.38);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(24,119,242,.11),rgba(24,119,242,.05));
  color:#dceaff;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(0,0,0,.14);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.fb-gallery-modern:hover{
  transform:translateY(-1px);
  border-color:rgba(24,119,242,.78);
  background:rgba(24,119,242,.15);
}
.fb-modern-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#1877F2;
  color:#fff;
  font:bold 22px Arial,sans-serif;
  line-height:1;
}
.fb-modern-text{
  display:flex;
  flex-direction:column;
  line-height:1.08;
}
.fb-modern-text strong{
  color:#eaf3ff;
  font:600 13px Georgia,"Times New Roman",serif;
}
.fb-modern-text small{
  margin-top:3px;
  color:#9fbce4;
  font:10px Arial,sans-serif;
  letter-spacing:.02em;
}
.fb-modern-arrow{
  color:#73a7ee;
  font:16px Arial,sans-serif;
}
@media(max-width:700px){
  .gallery-actions{align-items:flex-start;flex-direction:column}
  .fb-gallery-modern{margin-left:0}
}

/* FRISA v7Z — al entrar en una categoría desaparece el menú principal */
.gallery-actions.inside-gallery{
  margin-top:6px;
  margin-bottom:16px;
}
.gallery-actions.inside-gallery .gallery-show-all{
  display:inline-block!important;
  text-decoration:none;
  color:#d2b76d;
  border-bottom:1px solid rgba(210,183,109,.45);
  padding:5px 0;
}
.gallery-actions.inside-gallery .gallery-show-all:hover{
  color:#f0d78b;
  border-color:#f0d78b;
}

/* FRISA v7Z.1 — aviso legal */
.legal-footer{
  margin-top:34px;
  padding:16px 0 20px;
  border-top:1px solid rgba(196,157,67,.18);
  color:#9f8e7b;
  font-size:11px;
  text-align:center;
}
.legal-footer a{color:#bda66c;text-decoration:none}
.legal-footer a:hover{color:#ead38c}
.legal-page{max-width:920px;padding-top:34px;padding-bottom:30px}
.legal-page h1{color:#d6bd79}
.legal-page h2{margin-top:28px;color:#d6bd79;font-size:20px}
.legal-page p{line-height:1.7}
.legal-card{
  margin:22px 0;
  padding:18px 20px;
  border:1px solid rgba(196,157,67,.28);
  background:rgba(35,20,14,.48);
}
.legal-card p{margin:7px 0}
.legal-updated{margin-top:34px;color:#9f8e7b;font-size:12px}
