/*
Theme Name: Ele Velky Watercolors
Theme URI: https://elevelkywatercolors.com
Author: Custom Studio
Description: Original watercolor portfolio and events calendar for Ele Velky.
Version: 2.0
Requires PHP: 7.4
Text Domain: ele-velky
*/
:root{--mint:#6CE3C6;--teal:#43B4B2;--violet:#8856D8;--lavender:#D7ADF7;--ink:#1E1713;--paper:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,.nav,.button,.eyebrow{font-family:'Trebuchet MS',Arial,sans-serif}h1,h2,h3{line-height:1.16}h1{font-size:clamp(2.6rem,6vw,5.5rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em}h3{font-size:1.25rem}.wrap{max-width:1240px;margin:auto;padding:0 30px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,254,250,.96);border-bottom:1px solid #eee7eb;backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px}.brand{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:1.28rem;font-weight:bold;line-height:1.2}.brand img{width:52px;height:52px;object-fit:contain}.brand small{display:block;letter-spacing:.21em;font:600 .62rem Arial,sans-serif;color:var(--violet);margin-top:4px}.nav{display:flex;align-items:center;gap:26px;font-size:.85rem;font-weight:700;letter-spacing:.03em}.nav a:hover,.nav .current-menu-item a{color:var(--violet)}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}.hero{background:radial-gradient(ellipse at 80% 25%,#d7adf744,transparent 42%),radial-gradient(ellipse at 15% 85%,#6ce3c63b,transparent 42%),var(--paper);padding:90px 0 100px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.73rem;font-weight:800;color:#7c47c9}.hero h1{margin:16px 0 20px}.hero p{max-width:500px;font-size:1.16rem;color:#534b47}.hero-art{position:relative;padding:25px}.hero-art img{width:100%;height:520px;object-fit:contain;background:white;box-shadow:0 22px 65px #392f3a1c;border:12px solid white;transform:rotate(2deg)}.hero-art:before{content:'';position:absolute;inset:2% -2% 8% 10%;background:linear-gradient(135deg,#6ce3c6a0,#d7adf7a0);border-radius:50%;filter:blur(32px);z-index:-1}.button{display:inline-block;border:0;background:var(--ink);color:white;padding:15px 27px;border-radius:50px;font-size:.82rem;font-weight:800;letter-spacing:.04em;cursor:pointer}.button:hover{background:var(--violet)}.button.secondary{background:white;border:1px solid var(--violet);color:var(--violet)}.button.secondary:hover{background:#f6edff}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.section{padding:90px 0}.section.soft{background:#f6f2f8}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-head h2{margin:7px 0}.muted{color:#746c6a}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.art-card{background:white;box-shadow:0 10px 35px #251b1a0a;border:1px solid #f0ecef;overflow:hidden}.art-card img{width:100%;height:310px;object-fit:contain;background:#f6f3f1;padding:14px;display:block;user-select:none;-webkit-user-drag:none}.art-card .art-caption{padding:14px 18px 19px}.art-card h3{font-family:Georgia,serif;margin:0;font-size:1.06rem}.art-card p{margin:4px 0 0;color:#8a817d;font-size:.8rem}.intro{max-width:760px;margin:0 auto 45px;text-align:center}.intro h1{margin:10px 0 20px}.page-hero{text-align:center;padding:75px 0 30px;background:radial-gradient(ellipse at center,#d7adf72b,transparent 60%)}.page-hero h1{margin:10px 0 14px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.about-art{background:linear-gradient(140deg,#d7adf7,#6ce3c6);padding:18px;transform:rotate(-2deg)}.about-art img{display:block;background:white;padding:18px}.about-copy p{font-size:1.14rem}.calendar-shell{max-width:920px;margin:45px auto 0;padding:30px;border:2px solid var(--lavender);border-radius:24px;background:#fff;box-shadow:0 15px 55px #8856d813;position:relative}.calendar-shell:before{content:'✧';position:absolute;top:-26px;left:25px;color:var(--violet);font-size:45px;background:var(--paper);line-height:1}.calendar-shell:after{content:'🖌';position:absolute;right:26px;top:-31px;font-size:40px;background:var(--paper);padding:0 8px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-top h2{font-size:1.5rem;margin:0}.calendar-top button{border:1px solid #e9dcf5;background:#faf6ff;border-radius:50%;width:42px;height:42px;cursor:pointer}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-days>*{min-height:80px;border:1px solid #eee9f0;padding:9px;border-radius:7px;font-size:.87rem}.calendar-days .weekday{min-height:35px;text-align:center;background:#f6ecfd;font-weight:bold;border:0}.calendar-days .blank{border:0}.calendar-days .today{border:2px solid var(--teal);background:#6ce3c618}.empty-note{text-align:center;margin-top:30px;color:#786d76}.contact-panel{max-width:750px;margin:40px auto 80px;padding:65px 35px;text-align:center;border-radius:24px;background:linear-gradient(120deg,#6ce3c62d,#d7adf74d)}.site-footer{border-top:1px solid #eee6ee;background:#f9f5fa;padding:48px 0 22px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:center}.socials{display:flex;gap:14px}.socials a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border:1px solid #d8c9e6;border-radius:50%;font:bold .85rem Arial,sans-serif}.socials a:hover{background:var(--lavender)}.copyright{font-size:.75rem;color:#8a7e88;border-top:1px solid #e8dfeb;margin-top:32px;padding-top:20px}.art-protected img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.watercolor-stroke{width:110px;height:7px;background:linear-gradient(90deg,var(--mint),var(--violet));border-radius:100%;margin:25px 0}.centered{margin-left:auto;margin-right:auto}.gallery-controls{margin-bottom:30px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.gallery-controls input{padding:12px 17px;border:1px solid #e2d7e5;border-radius:50px;min-width:260px;font:inherit}.gallery-count{font-size:.85rem;color:#796f76}.no-results{display:none;text-align:center;padding:40px}@media(max-width:850px){.hero-grid,.about-grid{grid-template-columns:1fr}.hero-art img{height:400px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:90px;padding:22px 30px;background:white;flex-direction:column;align-items:flex-start;box-shadow:0 20px 30px #0001}.nav.open{display:flex}}@media(max-width:560px){.wrap{padding:0 18px}.hero,.section{padding:55px 0}.gallery-grid{grid-template-columns:1fr}.art-card img{height:330px}.footer-main{flex-direction:column;align-items:flex-start}.calendar-shell{padding:12px}.calendar-days>*{min-height:48px;padding:5px;font-size:.72rem}.calendar-days .weekday{min-height:28px}.hero-art img{height:330px}.brand{font-size:1.05rem}}

/* Brand palette refinement — November 2026. No custom font dependency. */
:root{--mint:#6CE3C6;--teal:#43B4B2;--violet:#8856D8;--lavender:#D7ADF7;--ink:#1E1713;--paper:#FFFFFF}
body{background:var(--paper)}
.site-header{background:rgba(255,255,255,.97);border-bottom-color:#43B4B233}
.brand small,.eyebrow,.nav a:hover,.nav .current-menu-item a{color:var(--violet)}
.button{background:var(--teal);color:#fff}.button:hover,.button:focus-visible{background:var(--violet)}
.button.secondary{background:#fff;color:var(--ink);border-color:var(--teal)}
.button.secondary:hover{background:var(--mint);color:var(--ink)}
.section.soft{background:#D7ADF729}.site-footer{background:#D7ADF72B;border-top-color:#8856D833}
.art-card{border-color:#43B4B22B}.art-card img{background:#6CE3C617}
.calendar-shell{border-color:var(--lavender)}.calendar-top button{background:#D7ADF72E;border-color:var(--lavender);color:var(--ink)}
.calendar-days .weekday{background:#D7ADF74A}.contact-panel{background:linear-gradient(125deg,#6CE3C638,#D7ADF75C)}
.socials a{border-color:var(--teal)}.socials a:hover{background:var(--mint)}
.gallery-controls input:focus-visible,.calendar-top button:focus-visible,a:focus-visible{outline:3px solid var(--violet);outline-offset:3px}

/* v1.2 artwork detail pages */
.art-card-link{display:block;height:100%}.art-card-link:hover h3{color:var(--violet)}.art-card-link:hover img{filter:saturate(1.06)}
.artwork-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:55px;align-items:start;margin-top:26px}
.artwork-large{background:#f8f6f7;padding:20px;border:1px solid #43B4B233}.artwork-large img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;user-select:none;-webkit-user-drag:none}
.artwork-info h2{margin:8px 0 20px}.artwork-info p{font-size:1.05rem}.back-gallery{color:var(--violet);font-weight:700}.draft-note{color:#776b75;font-size:.87rem!important;font-style:italic}
.purchase-panel{padding:25px;background:#6CE3C62A;border-radius:15px;margin:30px 0}.purchase-panel h3{margin-top:0}.purchase-panel .button{margin-top:8px}
.qr-panel{display:flex;gap:18px;align-items:center;border-top:1px solid #D7ADF7;padding-top:25px}.qr-panel img{width:144px;height:144px;background:white;padding:4px;border:1px solid #eee;flex:none}.qr-panel p{font-size:.85rem;color:#6d636a;margin:5px 0}
@media(max-width:800px){.artwork-layout{grid-template-columns:1fr;gap:30px}}@media(max-width:480px){.qr-panel{flex-direction:column;align-items:flex-start}}

/* Version 1.3 — watercolor-inspired homepage events teaser */
.events-teaser{position:relative;overflow:hidden;background:linear-gradient(130deg,#ffffff 0%,#d7adf730 52%,#6ce3c62a 100%)}
.events-teaser:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 88% 18%,#8856d81a,transparent 40%),radial-gradient(ellipse at 5% 90%,#43b4b21c,transparent 45%)}
.events-teaser-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:clamp(32px,7vw,100px);align-items:center}
.events-teaser-copy h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;max-width:600px}
.events-teaser-copy p{max-width:580px;line-height:1.8}
.events-teaser-copy .events-coming{color:#8856D8;font-weight:700}
.mini-calendar{position:relative;padding:24px 24px 20px;border-radius:24px;background:#ffffffec;border:2px solid #D7ADF7;box-shadow:0 20px 50px #8856d81b;transform:rotate(1deg);isolation:isolate}
.mini-calendar:before{content:"";position:absolute;inset:-10px -12px;z-index:-1;border-radius:35px;background:linear-gradient(140deg,#6CE3C644,#D7ADF766,#8856D81c);filter:blur(7px)}
.mini-calendar:after{content:"";position:absolute;right:-17px;top:-27px;width:105px;height:105px;background:url('assets/img/ev-icon.png') center/contain no-repeat;opacity:.75;transform:rotate(12deg);pointer-events:none}
.mini-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:center;padding:8px 0 19px;border-bottom:2px solid #6CE3C6}
.mini-calendar-top h3{margin:5px 0 0;font-size:1.35rem;color:#1E1713}
.mini-calendar-kicker{font-size:.65rem;letter-spacing:.2em;font-weight:800;color:#8856D8}
.mini-calendar-flourish{font-size:1.8rem;color:#43B4B2}
.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:15px 0}
.mini-calendar-grid span{display:grid;place-items:center;aspect-ratio:1;font-size:.78rem;border-radius:50%;color:#1E1713}
.mini-calendar-grid span:nth-child(-n+7){font-weight:800;color:#8856D8;font-size:.7rem}
.mini-calendar-grid span.mini-highlight{background:#D7ADF7;color:#1E1713}
.mini-calendar-bottom{text-align:center;border-top:1px solid #6CE3C6;padding-top:13px;color:#43B4B2;font-size:.79rem;font-style:italic}
@media(max-width:780px){.events-teaser-grid{grid-template-columns:1fr}.mini-calendar{max-width:480px;width:100%;margin:auto}.mini-calendar:after{width:75px;height:75px;right:-8px;top:-15px}}

/* Events logo: transparent PNG with no white rectangular background */
.events-logo-transparent{display:block;width:clamp(110px,19vw,190px);height:auto;object-fit:contain;margin:0 0 16px;mix-blend-mode:normal}

/* v1.5: transparent artwork in both calendar sections */
.mini-calendar,.calendar-shell{position:relative;isolation:isolate;overflow:hidden}
.mini-calendar-art{position:absolute;width:112px;height:auto;right:8px;top:4px;opacity:.23;pointer-events:none;z-index:-1}
.calendar-art{position:absolute;right:12px;top:8px;width:clamp(90px,17vw,175px);height:auto;opacity:.16;pointer-events:none;z-index:-1}
/* Scroll-reveal motion: JS only enables this for visitors who allow motion. */
@media(prefers-reduced-motion:no-preference){
 html.has-reveal .reveal-item{opacity:0;transform:translate3d(0,32px,0);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
 html.has-reveal .reveal-item[data-reveal="left"]{transform:translate3d(-36px,0,0)}
 html.has-reveal .reveal-item[data-reveal="right"]{transform:translate3d(36px,0,0)}
 html.has-reveal .reveal-item[data-reveal="down"]{transform:translate3d(0,-28px,0)}
 html.has-reveal .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
 .button,.art-card img{transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease}
 .button:hover{transform:translateY(-3px)}
 .art-card:hover img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal-item{opacity:1!important;transform:none!important;transition:none!important}}

/* v1.6: Keep homepage calendar free of overlaid logo artwork. */
.mini-calendar::after,.mini-calendar:after{content:none!important;background:none!important;display:none!important}
.mini-calendar-art{display:none!important}

/* v1.8: supplied circular logo in the top navigation */
.brand img{width:100px;height:100px;object-fit:contain;display:block}
.header-inner{min-height:112px}
@media(max-width:850px){.nav{top:112px}}
@media(max-width:560px){.brand img{width:76px;height:76px}.header-inner{min-height:90px}.nav{top:90px}}

/* v2.1: clean, vibrant watercolor events calendar */
.calendar-shell::before,.calendar-shell::after {
  content:none !important; display:none !important; background:none !important;
}
.calendar-shell {
  border:2px solid #8856D8;
  background:linear-gradient(145deg,#fff 0%,#F9F1FF 48%,#ECFFFA 100%);
  box-shadow:0 20px 55px rgba(136,86,216,.16);
}
.calendar-top {
  background:linear-gradient(100deg,rgba(215,173,247,.55),rgba(108,227,198,.48));
  padding:16px 18px;border-radius:15px;
}
.calendar-top h2{color:#1E1713;}
.calendar-top button {
  background:#fff;border:2px solid #8856D8;color:#7133BA;
  transition:transform .2s ease,background .2s ease;
}
.calendar-top button:hover{background:#D7ADF7;transform:scale(1.07)}
.calendar-days .weekday {
  background:linear-gradient(140deg,#D7ADF7,#BDEFE4);
  color:#342047;font-weight:800;
}
.calendar-days > :not(.weekday):not(.blank) {
  background:rgba(255,255,255,.88);
  border-color:#E7D7F5;
  transition:background .2s ease,transform .2s ease;
}
.calendar-days > :not(.weekday):not(.blank):hover {
  background:#E7FFF8;transform:translateY(-2px);
}
.calendar-days .today {
  background:#D3F8EF !important;
  border:2px solid #43B4B2 !important;
  box-shadow:inset 0 0 0 2px #fff;
}
@media(prefers-reduced-motion:reduce){
  .calendar-days > :not(.weekday):not(.blank),
  .calendar-top button{transition:none}
}
