/* ============================================================
   Spain page — mirrors korea.css over the shared frame/background.
   Blue (#27447E) accent in place of Korea's red. Loaded AFTER
   home.css (which provides .frame/.deco/.topbar/.nav/.lang/etc).
   ============================================================ */

/* --- hero (full-bleed Alhambra at dusk) --- */
.deco{z-index:6;}
.shero{
  position:relative;left:50%;transform:translateX(-50%);
  width:100vw;
  margin-top:-91px;overflow:hidden;
  min-height:clamp(400px,52vw,640px);
  background:url(../images/spain-top.png) no-repeat center top/cover;
  display:flex;align-items:center;justify-content:center;text-align:center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 6%,#000 42%);
  mask-image:linear-gradient(to bottom,transparent 0,transparent 6%,#000 42%);
}
.shero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,250,240,0) 50%,rgba(40,35,60,.14));
}
.shero-inner{position:relative;z-index:1;padding:40px 24px;margin-top:-96px;}
.shero-kicker{
  font-size:15px;letter-spacing:4px;text-transform:uppercase;color:#27447E;
  text-shadow:0 1px 3px rgba(255,250,240,.75);margin-bottom:12px;
}
body.lang-ko .shero-kicker{letter-spacing:2px;}
.shero-title{
  margin:0;font-weight:600;line-height:1.02;color:#27447E;
  letter-spacing:1px;text-transform:uppercase;
  font-size:clamp(38px,6vw,80px);
  text-shadow:0 2px 10px rgba(255,250,240,.6);
}
body.lang-ko .shero-title{letter-spacing:0;text-transform:none;}
.shero-date{
  margin-top:14px;font-size:15px;letter-spacing:3px;text-transform:uppercase;
  color:#42506E;font-weight:600;text-shadow:0 1px 3px rgba(255,250,240,.75);
}
body.lang-ko .shero-date{letter-spacing:1px;}

/* --- story --- */
.sstory{text-align:center;padding:clamp(40px,6vw,70px) 0 8px;}
.sstory p{
  margin:0 auto;max-width:560px;font-style:italic;
  font-size:clamp(19px,2.3vw,23px);line-height:1.6;color:#2E2519;
}
body.lang-ko .sstory p{font-style:normal;}

/* --- shared divider / section --- */
.sdiv{display:block;margin:0 auto;opacity:.95;}
.sdiv.sm{width:240px;}
.sdiv.lg{width:480px;}
.ssec{padding:clamp(28px,4vw,44px) 0;}

/* --- venue (image is self-framed) --- */
.svenue{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;
  max-width:1000px;margin:0 auto;
}
.svenue-figure{position:relative;}
.svenue-figure img{position:relative;width:100%;filter:drop-shadow(0 6px 12px rgba(70,55,25,.18));}
.svenue-eyebrow{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#574013;margin-bottom:6px;}
body.lang-ko .svenue-eyebrow{letter-spacing:1px;}
.svenue-name{
  margin:0;font-style:italic;font-weight:600;color:#27447E;
  font-size:clamp(30px,3.8vw,46px);line-height:1.05;
}
body.lang-ko .svenue-name{font-style:normal;}
.svenue-text{margin:14px 0 0;font-size:18px;line-height:1.6;color:#2E2519;}

.sbtn{
  display:inline-flex;align-items:center;gap:14px;margin-top:20px;
  padding:13px 26px;border:1px solid #27447E;border-radius:5px;
  background:rgba(255,255,255,.34);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.25);
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#27447E;font-weight:600;
  transition:background .2s,color .2s;
}
.sbtn:hover{background:rgba(255,255,255,.6);color:#1A2F58;}
body.lang-ko .sbtn{letter-spacing:1px;}

/* --- schedule --- */
.ssched{position:relative;max-width:1000px;margin:0 auto;}
.ssched-title{
  text-align:center;margin:0 0 30px;font-style:italic;font-weight:600;color:#27447E;
  font-size:clamp(32px,4.4vw,48px);line-height:1;
}
body.lang-ko .ssched-title{font-style:normal;}
.ssched-row{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center;}
.stimeline{position:relative;display:flex;flex-direction:column;gap:6px;max-width:430px;}
.sevent:not(:last-child) .sevent-dot::after{
  content:"";position:absolute;left:50%;top:calc(100% - 4px);
  transform:translateX(-50%);width:2px;height:60px;z-index:0;
  background:linear-gradient(#27447E,#7E8FB4);
}
.sevent{position:relative;display:flex;gap:22px;align-items:center;padding:14px 0;}
.stimeline .sevent:nth-child(1){z-index:4;}
.stimeline .sevent:nth-child(2){z-index:3;}
.stimeline .sevent:nth-child(3){z-index:2;}
.sevent-dot{
  position:relative;z-index:1;flex:none;width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#3A5A9A,#27447E 70%);
  border:2px solid #C8A24A;
  box-shadow:0 3px 8px rgba(40,50,90,.32), inset 0 1px 2px rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;
}
.sevent-dot img{width:30px;height:30px;object-fit:contain;}
.sevent-time{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#5E70A0;font-weight:600;}
body.lang-ko .sevent-time{letter-spacing:.5px;}
.sevent-title{font-size:23px;font-weight:600;color:#2A3550;margin:2px 0 2px;}
.sevent-text{font-size:16px;color:#2E2519;}
.sevent-text a{color:#27447E;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(39,68,126,.4);transition:text-decoration-color .2s;}
.sevent-text a:hover{text-decoration-color:#27447E;}
.ssched-birds{display:flex;align-items:center;justify-content:center;}
.ssched-birds img{width:100%;max-width:420px;filter:drop-shadow(0 8px 16px rgba(70,55,25,.16));}

/* --- info sections (getting there & staying) --- */
.sinfo{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(8px,2vw,20px);}
.sinfo-row{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,5vw,60px);align-items:center;
  padding:clamp(14px,2.4vw,28px) 0;
}
.sinfo-img{display:flex;align-items:center;justify-content:center;}
.sinfo-img img{max-width:100%;max-height:260px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(70,55,25,.18));}
.sinfo-body{text-align:left;}
.sinfo-row.flip .sinfo-img{order:2;}
.sinfo-row.flip .sinfo-body{order:1;text-align:right;}
.sinfo-name{
  margin:0 0 12px;font-style:italic;font-weight:600;color:#27447E;
  font-size:clamp(26px,3.2vw,38px);line-height:1.04;
}
body.lang-ko .sinfo-name{font-style:normal;}
.sinfo-text{margin:0;font-size:18px;line-height:1.62;color:#2E2519;}

/* --- section title (shared) --- */
.scards-title{
  text-align:center;margin:0 0 18px;font-style:italic;font-weight:600;color:#27447E;
  font-size:clamp(32px,4.4vw,48px);line-height:1;
}
body.lang-ko .scards-title{font-style:normal;}

/* --- itinerary schedule --- */
.sitin{max-width:760px;margin:0 auto;}
.sitin-birds{display:block;width:150px;margin:4px auto 34px;opacity:.92;filter:drop-shadow(0 8px 16px rgba(70,55,25,.16));}
.act{margin:0 auto;}
.act-head{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:6px;}
.act-rom{font-style:italic;font-weight:600;color:#27447E;font-size:clamp(26px,3vw,34px);line-height:1;}
.act-sub{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#574013;}
body.lang-ko .act-sub{letter-spacing:1px;}
.act-venue{text-align:center;font-size:17px;letter-spacing:.5px;color:#2E2519;margin-bottom:20px;}
.act-venue a{color:#27447E;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(39,68,126,.4);transition:text-decoration-color .2s;}
.act-venue a:hover{text-decoration-color:#27447E;}
.itin{max-width:600px;margin:0 auto;}
.iev{display:grid;grid-template-columns:140px 1fr;gap:26px;padding:12px 0;}
.iev-time{text-align:right;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#5E70A0;font-weight:600;padding-top:3px;}
body.lang-ko .iev-time{letter-spacing:.2px;}
.iev-body{position:relative;padding-left:28px;border-left:1px solid rgba(200,162,74,.5);padding-bottom:2px;}
.iev-body::before{content:"";position:absolute;left:-6px;top:7px;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#3A5A9A,#27447E 70%);box-shadow:0 0 0 4px rgba(247,243,233,.85);}
.iev-title{font-size:19px;font-weight:600;color:#2A3550;line-height:1.25;}
.iev-desc{margin-top:6px;font-size:15px;font-style:italic;line-height:1.56;color:#2E2519;}
body.lang-ko .iev-desc{font-style:normal;}
.act-note{text-align:center;font-style:italic;font-size:14px;color:#574013;margin:16px 0 0;}
body.lang-ko .act-note{font-style:normal;}
.act-aside{max-width:560px;margin:24px auto 0;padding:18px 24px;border:1px solid rgba(200,162,74,.5);background:rgba(255,255,255,.32);border-radius:3px;font-size:14px;font-style:italic;line-height:1.62;color:#2E2519;}
body.lang-ko .act-aside{font-style:normal;}
.act-div{display:block;width:300px;margin:30px auto;opacity:.85;}

/* --- footer line --- */
.sfoot{text-align:center;margin:34px 0 4px;font-size:14px;letter-spacing:2px;color:#574013;}
body.lang-ko .sfoot{letter-spacing:.5px;}

/* --- responsive --- */
@media (max-width:820px){
  .svenue{grid-template-columns:1fr;}
  .ssched-row{grid-template-columns:1fr;}
  .ssched-birds{order:-1;}
  .sinfo-row,.sinfo-row.flip{grid-template-columns:1fr;text-align:center;gap:14px;}
  .sinfo-row.flip .sinfo-img{order:0;}
  .sinfo-row.flip .sinfo-body{order:0;text-align:center;}
  .sinfo-body{text-align:center;}
}
@media (max-width:560px){
  .iev{grid-template-columns:1fr;gap:3px;}
  .iev-time{text-align:left;}
  .iev-body{border-left:none;padding-left:0;}
  .iev-body::before{display:none;}
}
