/*
Theme Name: LDR Date Gifts
Theme URI: https://ldrdate.ca/
Author: LDR Date
Description: A warm, playful landing page for LDR Date's personalized digital gifts. Customer gifts are rendered by their standalone plugins.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ldrdate-gifts
License: GPL-2.0-or-later
*/

@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(assets/fonts/nunito-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(assets/fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--cream:#fffaf8;--white:#fff;--ink:#2a171c;--text:#4a363c;--muted:#5e4a50;--rose:#d63b58;--rose-dark:#c22f4b;--pink:#ffe3e8;--wine:#7a2233;--line:#f0dce0;--wrap:1200px;--gutter:clamp(20px,4vw,40px);--ease:cubic-bezier(.2,.8,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{margin:0;-webkit-text-size-adjust:100%;background:var(--cream)}
body.ldr-gifts{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.ldr-gifts a{color:inherit;text-decoration:none;touch-action:manipulation}
.ldr-gifts img{max-width:100%;height:auto;display:block}
.ldr-gifts h1,.ldr-gifts h2,.ldr-gifts h3{font-family:inherit;line-height:1.1;letter-spacing:-.035em;font-weight:850;margin:0;color:var(--ink)}
.ldr-gifts p{margin:0}
.ldr-gifts :focus-visible{outline:3px solid var(--wine);outline-offset:5px;border-radius:5px}
.ldr-gifts #main:focus{outline:none}
.wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto}
.icon{width:22px;height:22px;flex:none;vertical-align:middle}
.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:var(--wine);color:var(--white)!important;padding:12px 20px;border-radius:30px}
.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid var(--line);background:var(--cream)}
.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:850;letter-spacing:-.8px;white-space:nowrap;line-height:1.1}
.brand img{width:42px;height:42px;object-fit:contain}
.brand-label{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:block;color:var(--rose-dark);margin-top:5px}
.header-actions{display:flex;align-items:center;gap:32px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:56px;padding:15px 27px;border:1px solid transparent;border-radius:999px;background:var(--rose-dark);color:var(--white)!important;font-size:16px;font-weight:800;line-height:1.4;box-shadow:0 9px 22px #d63b581c;transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}
.button:hover{background:var(--wine);box-shadow:0 10px 25px #7a22332b;transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-small{min-height:48px;padding:12px 23px;font-size:15px;gap:12px}
.button .icon{width:20px;height:20px}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;line-height:1.4;font-weight:800;color:var(--wine)!important}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.text-link .icon{width:18px;height:18px;transition:transform .2s var(--ease)}
.text-link:hover .icon{transform:translateX(3px)}
.hero{position:relative;overflow:hidden;padding:83px 0 76px;background:radial-gradient(ellipse at 86% 38%,#ffe3e87d,transparent 48%)}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:35px;align-items:center}
.eyebrow{font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:var(--wine);line-height:1.6;display:flex;align-items:center;gap:9px}
.eyebrow .icon{width:15px;height:15px;fill:var(--rose);stroke:var(--rose)}
.hero h1{font-size:clamp(46px,5.2vw,72px);line-height:1.04;letter-spacing:-.045em;margin:23px 0 27px;font-weight:900}
.hero h1 span{color:var(--rose-dark)}
.underlined{position:relative;display:inline-block}
.underlined::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:10px;border-top:3px solid #edb1bc;border-radius:50%;transform:rotate(-2deg)}
.hero-description{max-width:510px;font-size:18px;line-height:1.8;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:29px}
.hero-footnote{display:flex;align-items:center;gap:8px;margin-top:24px!important;font-size:12px;color:var(--muted);font-weight:650}
.hero-footnote .icon{width:15px;height:15px;color:var(--rose-dark)}
.hero-art{position:relative;min-height:450px;isolation:isolate}
.gift-window{position:absolute;top:20px;left:7%;width:82%;background:var(--white);border:1px solid #edced4;border-radius:15px;box-shadow:0 24px 55px #7a223314;transform:rotate(-5deg);overflow:hidden}
.window-bar{height:39px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:0 13px;background:#fffdfc}
.window-bar>span:not(.window-label){width:6px;height:6px;border-radius:50%;background:#e9bbc5}
.window-label{margin-left:9px;font-size:10px;letter-spacing:.04em;color:var(--muted)}
.window-bar>.icon{width:13px;height:13px;margin-left:auto;color:var(--rose)}
.postcard{margin:17px 23px 0;background:#fff9f3;box-shadow:0 3px 14px #2a171c0a;padding:9px 9px 0;border:1px solid #f5e7df}
.postcard img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:2px}
.postcard p{text-align:center;padding:9px;font-size:17px;font-style:italic;font-weight:750;color:var(--wine)}
.window-caption{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:700;color:var(--muted);padding:16px 6px}
.window-caption .icon{width:12px;height:12px;color:var(--rose)}
.coffee-note{position:absolute;right:-2%;bottom:30px;width:42%;padding:7px 5px 12px;background:#fffefb;border:1px solid #ead9ce;border-radius:8px;box-shadow:0 16px 35px #4c252915;transform:rotate(9deg);z-index:2}
.coffee-note img{width:100%;height:145px;object-fit:contain}
.coffee-note>span{display:block;font-size:12px;font-weight:750;text-align:center;color:#78533d;font-style:italic}
.love-envelope{position:absolute;bottom:27px;left:3%;width:148px;height:100px;background:#f4b8c4;border:1px solid #dfa1af;border-radius:6px;transform:rotate(-15deg);box-shadow:0 12px 25px #7a223314;overflow:hidden}
.love-envelope::before,.love-envelope::after{content:'';position:absolute;top:15px;width:103px;height:103px;border:1px solid #e6a8b6;background:#f9ccd5;transform:rotate(45deg)}
.love-envelope::before{left:-53px}.love-envelope::after{right:-53px}
.envelope-fold{position:absolute;top:-69px;left:19px;width:108px;height:108px;background:#fce0e7;border-radius:7px;transform:rotate(45deg);border:1px solid #e6a8b6;z-index:1}
.envelope-seal{position:absolute;top:29px;left:57px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--rose-dark);color:var(--white);z-index:2;box-shadow:0 3px 6px #7a22331a}
.envelope-seal .icon{width:17px;height:17px;stroke-width:1.5}
.art-note{position:absolute;bottom:-7px;left:31%;font-size:12px;font-style:italic;color:var(--wine);transform:rotate(-4deg)}
.art-note>span{font-size:24px;display:inline-block;margin-left:5px}
.art-spark{position:absolute;color:var(--rose-dark)}
.art-spark .icon{width:25px;height:25px;stroke-width:1.3}
.spark-one{top:0;right:0;transform:rotate(15deg)}
.spark-two{bottom:135px;left:-13px;transform:rotate(-15deg)}
.spark-two .icon{width:19px;height:19px}
.orbit-line{position:absolute;inset:4px -20px 20px;border:1px dashed #e7bdc7;border-radius:50%;transform:rotate(20deg);z-index:-1}
.promise-strip{list-style:none;margin:0;padding:25px 5px;display:grid;grid-template-columns:1fr 1fr 1.16fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:24px}
.promise-strip li{display:flex;align-items:center;justify-content:center;gap:11px;font-size:13px;font-weight:750;color:var(--text)}
.promise-strip .icon{color:var(--rose-dark);width:21px;height:21px}
.section-space{padding:86px 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:35px}
.section-heading .eyebrow,.how-intro .eyebrow{margin-bottom:14px}
.ldr-gifts h2{font-size:clamp(32px,3.3vw,44px);line-height:1.13;font-weight:850}
.ldr-gifts h2 span{color:var(--rose-dark)}
.section-heading>p{max-width:325px;color:var(--muted);font-size:16px;line-height:1.8;padding-bottom:3px}
.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.gift-card{min-width:0}
.gift-art{position:relative;height:255px;overflow:hidden;border-radius:19px;display:flex;align-items:center;justify-content:center;border:1px solid #f0dce07a}
.gift-art-puzzle{background:#fce7e8}
.gift-art-puzzle>img{width:84%;transform:rotate(-6deg);border:9px solid var(--white);box-shadow:0 11px 25px #7a223319;border-radius:4px;margin-top:25px}
.art-tag{position:absolute;top:17px;left:17px;z-index:1;font-size:10px;font-weight:750;letter-spacing:.02em;color:var(--wine);background:#ffffffd9;border:1px solid #ffffff9e;border-radius:999px;padding:5px 10px}
.gift-art-together{background:#f0edf6}
.gift-art-together>img{width:100%;height:100%;object-fit:contain;margin-top:28px}
.gift-art-coffee{background:#f4e9db}
.gift-art-coffee>img{width:77%;height:80%;object-fit:contain;margin-top:28px}
.gift-copy{padding:23px 3px 0}
.gift-kind{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);font-weight:850;margin-bottom:9px!important}
.ldr-gifts h3{font-size:24px;letter-spacing:-.025em;line-height:1.2;font-weight:850}
.gift-copy>p:not(.gift-kind){font-size:15px;color:var(--muted);line-height:1.8;margin:12px 0 10px;min-height:81px}
.gift-copy .text-link{font-size:14px}
.how-section{background:#fff2f2;border-block:1px solid #f5e3e5}
.how-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}
.how-intro>p:not(.eyebrow){max-width:330px;font-size:15px;color:var(--muted);line-height:1.8;margin:19px 0 17px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.steps li{display:flex;gap:22px;align-items:flex-start;padding-bottom:23px;border-bottom:1px solid #edcfd4}
.steps li:last-child{border:0;padding-bottom:0}
.step-number{font-size:13px;font-weight:850;color:var(--wine);background:#ffe1e6;min-width:43px;height:43px;border-radius:50%;display:grid;place-items:center;margin-top:2px}
.steps h3{font-size:21px}
.steps p{color:var(--muted);font-size:15px;line-height:1.8;margin-top:7px}
.closing-section{padding:65px 0}
.closing-card{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:26px;border:1px solid var(--line);padding:38px;border-radius:22px;background:var(--white)}
.closing-heart{width:53px;height:53px;background:var(--pink);border-radius:50%;display:grid;place-items:center;color:var(--rose-dark)}
.closing-heart .icon{width:27px;height:27px}
.closing-card h2{font-size:30px;line-height:1.2;margin:9px 0 12px}
.closing-card>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}
.closing-card .eyebrow{font-size:9px}
.site-footer{border-top:1px solid var(--line);padding:25px 0 30px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.footer-inner>p a{color:var(--wine);font-weight:800}
.footer-inner nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.footer-inner a{display:inline-flex;align-items:center;min-height:44px}
.footer-inner a:hover{text-decoration:underline;text-underline-offset:4px}
.copyright{font-size:11px}
.empty-page{padding-block:100px;min-height:65vh}
.empty-page h1{font-size:clamp(36px,5vw,60px);margin:20px 0}
.empty-page>p:not(.eyebrow){margin-bottom:25px;color:var(--muted)}
@media(min-width:1440px){.hero{padding-top:95px;padding-bottom:88px}.hero-art{min-height:470px}.gift-window{top:20px}}
@media(max-width:1050px){.header-inner{min-height:92px}.hero-grid{grid-template-columns:1.1fr 1fr;gap:15px}.hero{padding-block:65px}.hero h1{font-size:56px}.hero-description{font-size:16px}.hero-art{min-height:390px}.coffee-note{bottom:35px}.coffee-note img{height:115px}.art-note{bottom:0;font-size:10px}.love-envelope{width:130px;height:90px;left:0;bottom:25px}.envelope-fold{left:10px}.envelope-seal{left:48px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:13px}.gift-art{height:215px}.gift-grid{gap:20px}.gift-copy h3{font-size:21px}.gift-copy>p:not(.gift-kind){min-height:108px}.how-grid{gap:55px}.closing-card{grid-template-columns:1fr auto}.closing-heart{display:none}.closing-card h2{font-size:27px}.promise-strip{gap:15px}.promise-strip li{font-size:11px;gap:8px}}
@media(max-width:760px){.main-site-link{display:none}.header-inner{min-height:83px}.brand{font-size:23px;gap:9px}.brand img{width:36px;height:36px}.brand-label{font-size:10px;letter-spacing:1.7px}.button-small{font-size:13px;padding:11px 18px;min-height:44px}.header-actions{gap:12px}.hero{padding:47px 0 36px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy{max-width:590px}.hero h1{font-size:clamp(46px,8.2vw,62px);margin:20px 0 27px}.hero-description{font-size:16px;max-width:530px}.hero-actions{gap:22px}.hero-footnote{margin-top:20px!important}.hero-art{width:min(100%,470px);min-height:420px;margin-inline:auto}.gift-window{left:9%;width:77%}.coffee-note{right:2%;bottom:32px;width:39%}.coffee-note img{height:126px}.love-envelope{left:3%;bottom:37px}.art-note{bottom:0;left:30%;font-size:11px}.orbit-line{inset:3px 0 27px}.spark-one{right:4%}.spark-two{left:1%;bottom:150px}.promise-strip{grid-template-columns:1fr;gap:17px;padding:25px 0}.promise-strip li{justify-content:flex-start;font-size:13px;gap:13px}.promise-strip li .icon{width:20px;height:20px}.section-space{padding-block:56px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:440px;margin-top:19px;font-size:15px}.gift-grid{grid-template-columns:1fr;gap:37px}.gift-card{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center}.gift-art{height:220px}.gift-art-puzzle>img{width:86%;border-width:6px}.art-tag{font-size:8px;left:10px;top:13px;padding:4px 7px}.gift-copy{padding:0}.gift-kind{font-size:9px}.gift-copy h3{font-size:23px}.gift-copy>p:not(.gift-kind){min-height:0;font-size:14px;line-height:1.75;margin:10px 0 7px}.gift-copy .text-link{font-size:12px}.how-grid{grid-template-columns:1fr;gap:32px}.how-intro>p:not(.eyebrow){max-width:450px}.steps{gap:21px}.steps li{gap:18px}.closing-section{padding-block:42px}.closing-card{display:block;padding:27px}.closing-card h2{font-size:27px}.closing-card .eyebrow{font-size:9px;max-width:260px}.closing-card .button{margin-top:23px}.footer-inner{display:block;text-align:center}.footer-inner nav{justify-content:center;gap:20px;margin:3px 0}.site-footer{padding-block:20px}.copyright{margin-top:8px!important}}
@media(max-width:480px){.hero h1{font-size:48px}.eyebrow{font-size:9px;letter-spacing:.13em}.hero-actions{gap:16px}.hero-actions .button{font-size:14px;padding-inline:23px;min-height:53px}.hero-actions .text-link{font-size:12px}.hero-art{min-height:365px}.gift-window{top:14px;width:81%;left:6%}.window-bar{height:32px;padding-inline:10px}.window-label{font-size:8px;margin-left:4px}.window-bar>span:not(.window-label){width:5px;height:5px}.postcard{margin:13px 17px 0;padding:7px 7px 0}.postcard p{font-size:14px;padding:7px}.window-caption{font-size:8px;padding:12px 4px}.coffee-note{bottom:33px;right:0;width:40%}.coffee-note img{height:105px}.coffee-note>span{font-size:9px}.love-envelope{left:1%;bottom:32px;width:113px;height:77px}.envelope-fold{top:-76px;left:2px}.envelope-seal{top:21px;left:40px;width:30px;height:30px}.art-note{left:26%;font-size:10px}.orbit-line{inset:0 -7px 20px}.spark-one .icon{width:20px}.gift-card{display:block}.gift-art{height:250px}.gift-art-puzzle>img{width:77%;margin-top:27px}.art-tag{font-size:10px;top:17px;left:17px;padding:5px 10px}.gift-copy{padding:22px 2px 0}.gift-kind{font-size:9px}.gift-copy h3{font-size:25px}.gift-copy>p:not(.gift-kind){font-size:15px;margin:12px 0 9px}.gift-copy .text-link{font-size:14px}.gift-art-together>img{width:94%}.gift-art-coffee>img{height:82%}.closing-card h2{font-size:26px}.closing-card{padding:25px}.hero-footnote{font-size:11px}}
@media(max-width:360px){.hero h1{font-size:42px}.hero-actions{gap:9px}.hero-actions .button{padding-inline:18px;font-size:13px}.hero-art{min-height:330px}.brand{font-size:21px}.button-small{padding-inline:14px}.hero-description{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ldr-gifts *,.ldr-gifts *::before,.ldr-gifts *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover,.text-link:hover .icon{transform:none}}
