/*
Theme Name: Samisha Theme
Theme URI: http://wedding.local
Description: Minimal single-page wedding invitation theme for Amisha & Samarth. Renders the complete, beautiful wedding invitation.
Author: Gupta Family
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: samisha
*/

html,body{margin:0;padding:0}
/* ===== Amisha & Samarth — bride-side invitation ===== */
body{
  background-color:#FBE9EF;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 38px, #F2CFDA 38px 40px),
    repeating-linear-gradient(-45deg, transparent 0 38px, #F2CFDA 38px 40px),
    radial-gradient(circle at 20px 20px, #EFC3D1 0 2px, transparent 2.5px);
  background-size:56px 56px, 56px 56px, 40px 40px;
}
.samisha{
  --paper:#FFF9F2;
  --blush:#FBE9EF;
  --rose:#B5134F;
  --rose-soft:#E8A5BC;
  --leaf:#2F5D3A;
  --leaf-soft:#5E8A4F;
  --gold:#B8923A;
  --gold-light:#E2CB8A;
  --indigo:#4B3F8F;
  --plum:#7B2E8E;
  --marigold:#E0891C;
  --sun:#F3B53C;
  --line:#EBD9C6;
  --ink:#4A3B36;
  color:var(--ink);
  font-family:"Jost",system-ui,sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-align:center;
  max-width:760px;
  margin:28px auto;
  background:var(--paper);
  border:1px solid var(--rose-soft);
  outline:1px solid var(--gold-light);
  outline-offset:-7px;
  box-shadow:0 30px 60px -40px #B5134F;
  overflow:hidden;
  position:relative;
}
.samisha *{box-sizing:border-box;margin:0;padding:0}
.samisha a{color:inherit;text-decoration:none}
.samisha a:focus-visible,.samisha button:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
.samisha .serif{font-family:"Cormorant Garamond",Georgia,serif}
.samisha .sm-label{font-size:.72rem;letter-spacing:.3em;font-weight:500;color:var(--rose)}

/* side tile columns on wide screens */
.samisha .sm-rail{position:absolute;top:0;bottom:0;width:56px;background:url(assets/art/tiles.jpg) center top/56px auto repeat-y;opacity:.95}
.samisha .sm-rail.l{left:7px;border-right:1px dotted var(--rose-soft)}
.samisha .sm-rail.r{right:7px;border-left:1px dotted var(--rose-soft)}
.samisha .sm-inner{position:relative;padding:0 72px}

/* header */
.samisha .sm-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 28px;border-bottom:1px dotted var(--rose-soft);
}
.samisha .sm-mark{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;letter-spacing:.2em;color:var(--leaf);font-weight:600}
.samisha .sm-mark span{color:var(--rose)}

/* masthead florals */
.samisha .sm-masthead{
  height:230px;background:url(assets/art/florals-top.jpg) center top/cover no-repeat;
  -webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);
}

/* opening */
.samisha .sm-open{padding:0 28px 48px;margin-top:-10px}
.samisha .sm-ganesh{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem;color:var(--gold);letter-spacing:.04em;line-height:1.5}
.samisha .sm-blessing{margin-top:1.4rem;font-size:.95rem;letter-spacing:.04em;line-height:1.7}
.samisha .sm-blessing b{font-weight:500;color:var(--rose);display:block}
.samisha .sm-solicit{margin-top:1.2rem;font-size:.95rem;letter-spacing:.06em;line-height:1.7;max-width:28rem;margin-left:auto;margin-right:auto}
.samisha .sm-names{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--leaf);
  font-size:clamp(3.4rem,11vw,5.4rem);line-height:1;letter-spacing:.06em;text-transform:uppercase;margin-top:1.6rem;
}
.samisha .sm-names .sm-with{display:block;font-family:"Jost",sans-serif;font-size:.8rem;letter-spacing:.4em;color:var(--rose);text-transform:uppercase;line-height:3}
.samisha .sm-lineage{margin-top:1.4rem;font-size:.86rem;letter-spacing:.05em;line-height:1.75;color:var(--ink)}
.samisha .sm-date{margin-top:1.6rem;font-size:.82rem;letter-spacing:.32em;font-weight:500;color:var(--rose)}
.samisha .sm-jump{display:inline-block;margin-top:1.3rem;font-size:.74rem;letter-spacing:.28em;font-weight:500;color:var(--leaf);padding-bottom:.3rem;border-bottom:1px solid var(--leaf-soft)}

/* section rule */
.samisha .sm-section{display:flex;align-items:center;gap:16px;padding:0 28px}
.samisha .sm-section::before,.samisha .sm-section::after{content:"";flex:1;height:1px;background:var(--gold-light)}
.samisha .sm-section b{font-weight:500;font-size:.72rem;letter-spacing:.32em;color:var(--leaf);white-space:nowrap}
.samisha .sm-section i{width:7px;height:7px;background:var(--rose);transform:rotate(45deg);flex:none}
.samisha .sm-block{padding:44px 28px}

/* film */
.samisha .sm-film{width:min(100%,380px);margin:0 auto}
.samisha .sm-arch{
  position:relative;aspect-ratio:9/16;border-radius:190px 190px 22px 22px;overflow:hidden;background:var(--blush);
}
.samisha .sm-arch::before{content:"";position:absolute;inset:0;border:2px solid var(--rose);border-radius:190px 190px 22px 22px;pointer-events:none;z-index:2}
.samisha .sm-arch::after{content:"";position:absolute;inset:8px;border:1px solid var(--gold);border-radius:182px 182px 16px 16px;pointer-events:none;z-index:2}
.samisha .sm-arch video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.samisha .sm-play{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.samisha .sm-play span{
  width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--rose);color:#fff;box-shadow:0 14px 30px -10px var(--rose);transition:transform .25s;
}
.samisha .sm-play:hover span{transform:scale(1.06)}
.samisha .sm-play svg{width:28px;height:28px;margin-left:4px}
.samisha .sm-arch.playing .sm-play{display:none}
.samisha .sm-film-note{margin-top:1.3rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;color:var(--leaf);font-weight:500}
.samisha .sm-film-sub{margin-top:.2rem;font-size:.82rem;letter-spacing:.08em;color:var(--gold)}

/* event cards */
.samisha .sm-events{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 28px 44px}
.samisha .sm-card{
  position:relative;overflow:hidden;border-radius:18px;
  background:var(--paper);border:1.5px solid var(--c);
  min-height:520px;display:flex;flex-direction:column;justify-content:center;
  padding:150px 22px 150px;
}
.samisha .sm-card .top,.samisha .sm-card .base{position:absolute;left:0;right:0;background-size:cover;background-position:center;pointer-events:none}
.samisha .sm-card .top{top:0;height:150px;background-position:center top;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.samisha .sm-card .base{bottom:0;height:150px;background-position:center bottom;-webkit-mask-image:linear-gradient(transparent,#000 40%);mask-image:linear-gradient(transparent,#000 40%)}
.samisha .sm-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:2rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.05;color:var(--c)}
.samisha .sm-card .tag{font-size:.8rem;letter-spacing:.14em;color:var(--c2);margin-top:.35rem}
.samisha .sm-card .orn{color:var(--gold);font-size:.9rem;margin:.9rem 0;letter-spacing:.3em}
.samisha .sm-card .when{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--c)}
.samisha .sm-card .when span{font-size:.74rem;letter-spacing:.3em;font-weight:500;border-top:1px solid var(--c);border-bottom:1px solid var(--c);padding:4px 0}
.samisha .sm-card .when b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:3.6rem;line-height:1}
.samisha .sm-card .time{margin-top:.8rem;font-size:.9rem;letter-spacing:.1em;font-weight:500;color:var(--ink)}
.samisha .sm-card .rites{margin-top:.4rem;font-size:.86rem;letter-spacing:.06em;line-height:1.7;color:var(--ink)}
.samisha .sm-card .venue{margin-top:.9rem;font-size:.82rem;letter-spacing:.06em;line-height:1.6;color:var(--ink)}
.samisha .sm-card .venue small{display:block;font-size:.72rem;letter-spacing:.24em;color:var(--c2);margin-bottom:.1rem}
.samisha .sm-card .venue b{font-weight:500;color:var(--c)}
.samisha .c-mehendi{--c:#2F5D3A;--c2:#B5134F;background:#FFFBF4}
.samisha .c-mehendi .top{background-image:url(assets/art/mehendi-arch.jpg)}
.samisha .c-mehendi .base{background-image:url(assets/art/mehendi-base.jpg)}
.samisha .c-engage{--c:#4B3F8F;--c2:#B8923A;background:#FCFAF6}
.samisha .c-engage .top{background-image:url(assets/art/engagement-corner.jpg);background-position:right top;left:auto;width:70%;height:190px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 45%,transparent 72%)}
.samisha .c-engage .base{background-image:url(assets/art/engagement-base.jpg)}
.samisha .c-engage h3{color:var(--gold)}
.samisha .c-haldi{--c:#D7761A;--c2:#B5134F;background:#FFFAF0}
.samisha .c-haldi .top{background-image:url(assets/art/haldi-corner.jpg);background-position:left top;right:auto;width:70%;height:190px;-webkit-mask-image:radial-gradient(ellipse at top left,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at top left,#000 45%,transparent 72%)}
.samisha .c-haldi .base{background-image:url(assets/art/haldi-base.jpg)}
.samisha .c-wedding{--c:#B5134F;--c2:#B8923A;background:linear-gradient(#FFF6EC,#F9DCE6)}
.samisha .c-wedding .base{background-image:url(assets/art/mandap.jpg);height:210px;-webkit-mask-image:linear-gradient(transparent,#000 30%);mask-image:linear-gradient(transparent,#000 30%)}
.samisha .c-wedding{padding-top:70px;padding-bottom:210px}
.samisha .c-wedding h3{color:var(--gold)}

/* venue */
.samisha .sm-venue{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.1rem;line-height:1.2;font-weight:500;color:var(--leaf);margin-top:.5rem}
.samisha .sm-venue small{display:block;font-family:"Jost",sans-serif;font-size:.86rem;letter-spacing:.06em;margin-top:.6rem;color:var(--ink);line-height:1.6}
.samisha .sm-qr{width:176px;height:176px;margin:1.6rem auto 0;padding:16px;background:#fff;border:1.5px solid var(--rose);display:block;border-radius:14px}
.samisha .sm-qr img{width:100%;height:100%;display:block}
.samisha .sm-qr-note{margin-top:.8rem;font-size:.72rem;letter-spacing:.3em;color:var(--rose);font-weight:500}
.samisha .sm-maps{display:inline-block;margin-top:1.1rem;padding:.8rem 1.7rem;border-radius:999px;background:var(--rose);color:#fff;font-size:.76rem;letter-spacing:.26em;font-weight:500}
.samisha .sm-closing{margin-top:1.6rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:var(--leaf)}

/* blessings */
.samisha .sm-bless{padding:44px 28px;position:relative}
.samisha .sm-bless h4{font-size:.72rem;letter-spacing:.3em;font-weight:500;color:var(--leaf)}
.samisha .sm-bless .sub{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;color:var(--gold);margin-top:.2rem}
.samisha .sm-bless p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;line-height:1.5;color:var(--rose);font-weight:500;margin-top:.5rem}
.samisha .sm-bless .gap{height:30px}
.samisha .sm-rsvp{margin-top:1.8rem;display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.samisha .sm-rsvp a{display:block}
.samisha .sm-rsvp .who{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;color:var(--leaf);font-weight:500;display:block}
.samisha .sm-rsvp .tel{font-size:.9rem;letter-spacing:.14em;color:var(--rose);font-weight:500;display:block}

/* footer */
.samisha .sm-foot{border-top:1px dotted var(--rose-soft);padding:18px 28px;display:flex;justify-content:space-between;align-items:center}
.samisha .sm-foot .sm-hashtag{font-size:.74rem;letter-spacing:.34em;color:var(--rose);font-weight:500}

@media (max-width:820px){
  .samisha{margin:0;border-left:0;border-right:0;outline:0}
  .samisha .sm-rail{display:none}
  .samisha .sm-inner{padding:0}
}
@media (max-width:640px){
  .samisha .sm-events{grid-template-columns:1fr;padding:0 18px 36px}
  .samisha .sm-card{min-height:0}
  .samisha .sm-head,.samisha .sm-foot{padding:14px 18px;justify-content:center}
  .samisha .sm-head .sm-label,.samisha .sm-foot .sm-label{display:none}
  .samisha .sm-open,.samisha .sm-block,.samisha .sm-bless{padding-left:18px;padding-right:18px}
  .samisha .sm-section{padding:0 18px}
  .samisha .sm-date{letter-spacing:.18em}
  .samisha .sm-masthead{height:150px}
}
