/* Reference variants 3 (photos) and 4 (text). */
#gift-dialog { --gc-ink:#10242b; --gc-muted:#77828a; --gc-border:#e0e6e8; padding:24px; align-items:center; }
#gift-dialog [hidden] { display:none!important; }
#gift-dialog .gift-dialog-sheet { display:flex; flex-direction:column; gap:0; width:420px; max-width:100%; height:min(890px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); padding:0; overflow:hidden; border:1px solid #ffffffa8; border-radius:24px; background:linear-gradient(120deg,#fff,#fcfdfd); color:var(--gc-ink); font-family:Inter,sans-serif; box-shadow:0 24px 90px #09241a30; }
#gift-dialog button,#gift-dialog input,#gift-dialog textarea { font-family:inherit; }
#gift-dialog button { cursor:pointer; }
#gift-dialog button:disabled { cursor:default; opacity:.5; }
#gift-dialog button:focus-visible { outline:2px solid #00996a; outline-offset:3px; }
#gift-dialog input:focus,#gift-dialog textarea:focus { outline:none; box-shadow:none; }
#gift-dialog .gift-dialog-head { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:0; flex:0 0 auto; padding:20px 20px 14px; margin:0; border:0; text-align:left; }
#gift-dialog .gift-dialog-title-block { display:grid; justify-items:start; gap:4px; }
#gift-dialog .gift-dialog-head h2 { margin:0; font:650 23px/1.2 Inter,sans-serif; letter-spacing:-.8px; color:var(--gc-ink); }
#gift-dialog .gift-dialog-track { margin:0; color:#6c767c; font:400 13px/1.4 Inter,sans-serif; }
#gift-dialog .gift-dialog-close { position:static; display:grid; place-items:center; width:36px; height:36px; min-width:36px; padding:0; border:1px solid var(--gc-border); border-radius:50%; background:#fff; color:var(--gc-ink); box-shadow:none; }
#gift-dialog .gift-dialog-close svg { width:19px; height:19px; }
#gift-dialog .gift-composer-scroll { display:flex; flex-direction:column; gap:18px; padding:0 20px 20px; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; flex:1; }
#gift-dialog .gift-composer-scroll::-webkit-scrollbar { display:none; }
#gift-dialog .gift-composer-scroll>* { flex-shrink:0; min-width:0; }
#gift-dialog .gift-dialog-preview { position:relative; display:block; width:100%; --gc-text-preview-height:204px; height:204px; min-height:0; padding:0; overflow:hidden; border:1px solid #0d4437; border-radius:15px; background:radial-gradient(ellipse at 20% 35%,#06544490,transparent 66%),linear-gradient(135deg,#003729,#001e17 65%,#004438); box-shadow:0 3px 10px #004a2e16; color:white; }
#gift-dialog .gift-composer-box { position:absolute; width:45%; height:78%; left:2%; top:0; object-fit:contain; filter:drop-shadow(0 3px 12px #00e99b20); }
#gift-dialog .gift-dialog-preview-copy { position:absolute; top:30%; left:47%; right:9px; display:grid; gap:5px; }
#gift-dialog .gift-dialog-preview-copy strong { font:400 24px/1.08 'DM Serif Display',Georgia,serif; color:#fff; letter-spacing:-.7px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#gift-dialog .gift-dialog-preview-copy span { font:400 12px/1.4 Inter,sans-serif; color:#e4f1ea; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#gift-dialog .gift-dialog-preview-play { position:absolute; right:15px; bottom:34px; width:39px; height:39px; min-width:0; padding:0; border:1px solid #a0efd4; border-radius:50%; background:radial-gradient(circle at 70% 85%,#439779,#005238); color:white; box-shadow:0 0 15px #43edaf18; }
#gift-dialog .gift-dialog-preview-play::before { content:''; position:absolute; top:50%; left:52%; width:0; height:0; transform:translate(-50%,-50%); border-top:8px solid transparent; border-bottom:8px solid transparent; border-left:12px solid white; background:none; }
#gift-dialog .gift-dialog-preview-play.is-playing::before { width:10px; height:15px; border:0; border-left:3px solid white; border-right:3px solid white; left:50%; }
#gift-dialog .gift-composer-wave { position:absolute; left:27%; right:24%; bottom:34px; display:flex; align-items:center; justify-content:space-between; gap:3px; height:25px; }
#gift-dialog .gift-composer-wave i { width:2px; height:var(--wave-height); flex-shrink:1; border-radius:3px; background:#38dbb3; }
#gift-dialog .gift-dialog-preview.is-playing .gift-composer-wave i { animation:gift-wave .8s ease-in-out infinite alternate; animation-delay:var(--wave-delay); }
#gift-dialog .gift-preview-seek { appearance:none; position:absolute; left:15px; bottom:43px; width:calc(27% - 18px); height:4px; min-height:0; margin:0; padding:0; border:0; border-radius:4px; background:#27dbb3; accent-color:#00b6e3; cursor:pointer; }
#gift-dialog .gift-preview-seek::-webkit-slider-thumb { appearance:none; width:11px; height:11px; border-radius:50%; background:#00b7e6; }
#gift-dialog .gift-preview-current,#gift-dialog .gift-preview-duration { position:absolute; bottom:15px; font-size:10px; color:#effdf7; }
#gift-dialog .gift-preview-current { left:15px; } #gift-dialog .gift-preview-duration { right:18px; }
#gift-dialog .gift-composer-sticker { position:absolute; left:39%; top:12%; font-size:22px; transform:rotate(-12deg); }
#gift-dialog .gift-composer-tabs { display:grid; grid-template-columns:1fr 1fr; min-height:45px; padding:0; border-radius:25px; background:#f3f5f5; }
#gift-dialog .gift-composer-tabs button { display:flex; align-items:center; justify-content:center; gap:11px; min-height:45px; padding:9px; border:1px solid transparent; border-radius:25px; color:#657179; background:transparent; font-size:13px; font-weight:500; }
#gift-dialog .gift-composer-tabs button[aria-selected=true] { border-color:#0a9b62; color:#006b41; background:linear-gradient(120deg,#effaf4,#fff); font-weight:600; }
#gift-dialog .gift-composer-tabs svg { width:20px; height:20px; }
#gift-dialog .gift-composer-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:11px; }
#gift-dialog .gift-composer-heading h3 { display:flex; align-items:center; gap:10px; margin:0; padding:0; font:600 14px/1.4 Inter,sans-serif; color:var(--gc-ink); }
#gift-dialog .gift-composer-heading h3::before { display:none; }
#gift-dialog .gift-composer-heading b { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:#e1f5e9; color:#007d4c; font-size:13px; font-weight:600; }
#gift-dialog #gift-suggest-message { display:flex; align-items:center; gap:4px; white-space:nowrap; min-height:29px; padding:5px 9px; border:0; border-radius:8px; background:#e7f7ee; color:#006b42; font-size:10px; font-weight:600; }
#gift-dialog .gift-composer-message { position:relative; border:1px solid var(--gc-border); border-radius:12px; background:#f8fafb; }
#gift-dialog #gift-message { display:block; width:100%; height:139px; min-height:139px; resize:vertical; padding:12px 14px 26px; border:0; border-radius:12px; box-shadow:none; color:var(--gc-ink); background:transparent; font-size:15px; line-height:1.55; }
#gift-dialog #gift-message-count { position:absolute; right:11px; bottom:7px; color:var(--gc-muted); font-size:10px; pointer-events:none; }
#gift-dialog .gift-dialog-details { display:block; }
#gift-dialog .gift-dialog-fields { display:flex; flex-direction:column; gap:0; overflow:hidden; border:1px solid var(--gc-border); border-radius:11px; background:#f7f9fa; }
#gift-dialog .gift-dialog-field { display:flex; align-items:center; gap:10px; min-height:38px; padding:5px 12px; border:0; border-radius:0; background:none; box-shadow:none; }
#gift-dialog .gift-dialog-field+.gift-dialog-field { border-top:1px solid var(--gc-border); }
#gift-dialog .gift-dialog-field::before { display:none; }
#gift-dialog .gift-dialog-field>span { width:80px; flex:0 0 80px; color:#637078; font-size:12px; font-weight:400; }
#gift-dialog .gift-dialog-field input { width:100%; min-width:0; min-height:26px; padding:0; border:0; border-radius:0; background:transparent; color:var(--gc-ink); box-shadow:none; font-size:14px; font-weight:400; }
#gift-dialog .gift-photo-text-field { align-items:flex-start; padding-block:10px; }
#gift-dialog .gift-photo-text-field>span { padding-top:3px; }
#gift-dialog :is(#gift-photo-text, #gift-heart-subtitle) { width:100%; min-width:0; min-height:48px; padding:0; border:0; border-radius:0; resize:vertical; background:transparent; color:var(--gc-ink); box-shadow:none; font-size:14px; line-height:1.5; }
#gift-dialog .gift-photo-text-hint { margin:7px 2px 0; color:var(--gc-muted); font-size:11px; line-height:1.5; }
#gift-dialog .gift-photo-text-field { align-items:flex-start; padding-block:10px; }
#gift-dialog .gift-photo-text-field>span { padding-top:3px; }
#gift-dialog :is(#gift-photo-text, #gift-heart-subtitle) { width:100%; min-width:0; min-height:48px; padding:0; border:0; border-radius:0; resize:vertical; background:transparent; color:var(--gc-ink); box-shadow:none; font-size:14px; line-height:1.5; }
#gift-dialog .gift-photo-text-hint { margin:7px 2px 0; color:var(--gc-muted); font-size:11px; line-height:1.5; }
#gift-dialog .gift-composer-option { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:39px; cursor:pointer; }
#gift-dialog .gift-composer-option>span { display:flex; align-items:center; gap:8px; color:#626e74; font-size:13px; }
#gift-dialog .gift-composer-option svg { width:18px; height:18px; color:#7c8689; }
#gift-dialog .gift-composer-option input { position:absolute; right:0; width:46px; height:28px; margin:0; opacity:0; cursor:pointer; }
#gift-dialog .gift-composer-option>i { width:46px; height:26px; border-radius:20px; background:#d5dcde; transition:background .2s; pointer-events:none; }
#gift-dialog .gift-composer-option>i::after { content:''; display:block; width:22px; height:22px; margin:2px; border-radius:50%; background:#fff; box-shadow:0 1px 4px #142f2320; transition:transform .2s; }
#gift-dialog .gift-composer-option input:checked+i { background:linear-gradient(90deg,#007d50,#00975b); }
#gift-dialog .gift-composer-option input:checked+i::after { transform:translateX(20px); }
#gift-dialog .gift-composer-option input:focus-visible+i { outline:2px solid #008b56; outline-offset:3px; }
#gift-dialog .gift-photo-styles { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
#gift-dialog .gift-photo-styles button { padding:3px; border:2px solid transparent; border-radius:12px; background:transparent; color:var(--gc-ink); font-size:11px; }
#gift-dialog .gift-photo-styles button[aria-pressed=true] { border-color:#008954; background:#effaf4; }
#gift-dialog .gift-photo-styles button>span:last-child { display:block; padding:5px 0 1px; }
#gift-dialog .gift-style-art { position:relative; display:block; height:76px; border-radius:8px; background:#eef2f2; overflow:hidden; }
#gift-dialog .gift-style-art img { width:100%; height:100%; object-fit:cover; }
#gift-dialog .gift-style-polaroid img { width:78%; height:77%; margin-top:6px; border:4px solid white; border-bottom-width:11px; transform:rotate(9deg); box-shadow:-5px 3px 0 #fff,0 1px 4px #0003; }
#gift-dialog .gift-style-film { background:#13221e; }
#gift-dialog .gift-style-film img { width:68%; height:130%; border-block:6px solid #12231e; }
#gift-dialog .gift-style-film::after { content:''; position:absolute; inset:5px; border-inline:5px dotted #d4d6ce; }
#gift-dialog .gift-style-album img { height:75%; width:88%; margin-top:10px; border:6px solid #fff9e9; border-radius:6px; box-shadow:0 3px 4px #0003; }
#gift-dialog .gift-style-album::after { content:''; position:absolute; left:50%; top:10px; bottom:9px; width:3px; background:#d0c5b4; box-shadow:3px 0 7px #0004; }
#gift-dialog .gift-style-description { margin:9px 0 20px; min-height:32px; color:var(--gc-muted); font-size:11px; line-height:1.5; }
#gift-dialog #gift-photo-count { color:var(--gc-muted); font-size:11px; }
#gift-dialog .gift-photo-list { display:flex; gap:7px; overflow-x:auto; padding:2px 2px 5px; scrollbar-width:thin; }
#gift-dialog .gift-photo-list:empty { display:none; }
#gift-dialog .gift-photo-thumb { position:relative; flex:0 0 calc((100% - 21px)/4); height:82px; }
#gift-dialog .gift-photo-thumb img { width:100%; height:100%; object-fit:cover; border-radius:9px; }
#gift-dialog .gift-photo-thumb button { position:absolute; right:2px; top:2px; display:grid; place-items:center; width:21px; height:21px; padding:0; border:1px solid white; border-radius:50%; background:#123c32; color:#fff; font-size:16px; line-height:1; }
#gift-dialog .gift-photo-add { flex:0 0 calc((100% - 21px)/4); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; height:82px; border:1px solid var(--gc-border); border-radius:9px; background:#f7f9fa; color:var(--gc-ink); font-size:11px; }
#gift-dialog .gift-photo-add b { font-size:26px; font-weight:300; }
#gift-dialog .gift-photo-upload { width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:119px; padding:13px; border:1px dashed #c8d4d6; border-radius:12px; background:#f9fbfb; color:var(--gc-ink); }
#gift-dialog .gift-photo-upload svg { width:28px; height:28px; color:#6b7c80; margin-bottom:3px; }
#gift-dialog .gift-photo-upload strong { font-size:13px; font-weight:500; }
#gift-dialog .gift-photo-upload span { color:var(--gc-muted); font-size:10px; }
#gift-dialog .gift-photo-upload.is-dragging { border-color:#008957; background:#e8f8ee; }
#gift-dialog .gift-photo-status { margin:7px 0 0; padding:10px 12px; border:1px solid #efd5c5; border-radius:9px; background:#fff7f1; font-size:12px; line-height:1.5; color:#873c24; overflow-wrap:anywhere; }
#gift-dialog .gift-photo-status p { margin:0 0 6px; }
#gift-dialog .gift-photo-status ul { margin:0; padding-left:17px; }
#gift-dialog .gift-photo-status li+li { margin-top:7px; }
#gift-dialog .gift-photo-status:empty { display:none; }
#gift-dialog .gift-dialog-preview[data-mode=photos] { --gc-photo-preview-height:222px; height:calc(var(--gc-photo-preview-height) * .7); }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-composer-box { display:none; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy { top:auto; bottom:14px; left:16px; right:51%; gap:4px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy strong { font-size:20px; -webkit-line-clamp:1; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy span { font-size:10px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-composer-wave { left:43%; right:23%; bottom:22px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-play { bottom:15px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-preview-seek,#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-preview-current,#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-preview-duration { display:none; }
#gift-dialog .gift-dialog-actions { position:static; flex:0 0 auto; display:grid; gap:10px; margin:0; padding:15px 20px max(18px,env(safe-area-inset-bottom)); border:0; background:#ffffffed; box-shadow:0 -7px 18px #fff9; }
#gift-dialog .gift-dialog-main-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#gift-dialog .gift-dialog-main-actions button { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:42px; padding:8px; border-radius:10px; box-shadow:none; font:600 14px/1.3 Inter,sans-serif; }
#gift-dialog #gift-view-button { grid-column:1 / -1; min-height:52px; border:1px solid #008755; background:linear-gradient(110deg,#008958,#00985f 50%,#008351); color:#fff; font-size:17px; }
#gift-dialog #gift-save-button { border:1px solid #71b99c; background:#fff; color:#007642; }
#gift-dialog #gift-copy-button { width:100%; border:1px solid #71b99c; background:#e9faf2; color:#007642; }
#gift-dialog #gift-copy-button::before,#gift-dialog #gift-copy-button::after { display:none; }
#gift-dialog #gift-copy-button svg { width:21px; height:21px; flex:0 0 21px; }
#gift-dialog #gift-save-button::before,#gift-dialog #gift-view-button::before { width:21px; height:21px; }
#gift-dialog .gift-dialog-share-title { display:none; }
#gift-dialog .gift-dialog-share-block { display:block; }
#gift-dialog .gift-dialog-share-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:0; }
#gift-dialog .gift-dialog-share-button { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-width:0; min-height:37px; height:37px; padding:5px 3px; border:1px solid var(--gc-border); border-radius:9px; background:#fcfdfd; color:#13252b; box-shadow:none; }
#gift-dialog .gift-dialog-share-button::before { position:static; width:15px; height:15px; flex:0 0 15px; transform:none; background-color:currentColor; }
#gift-dialog .gift-dialog-share-button::after { font:400 11px/1.1 Inter,sans-serif; }
#gift-dialog #gift-whatsapp-button::after { content:'WhatsApp'; } #gift-dialog #gift-email-button::after { content:'Email'; } #gift-dialog #gift-print-button::after { content:'Printează'; }
#gift-dialog .gift-dialog-status { flex-shrink:0; margin:0; padding:0 20px 8px; font:400 12px/1.4 Inter,sans-serif; color:#087644; }
#gift-dialog .gift-dialog-status:empty { display:none; }
#gift-dialog .gift-dialog-status.field-error { color:#ae3223; }
#gift-dialog .gift-dialog-actions { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; grid-template-areas:none; }
#gift-dialog .gift-dialog-main-actions,#gift-dialog .gift-dialog-share-block { grid-area:auto; width:100%; margin:0; }
#gift-dialog .gift-dialog-details,#gift-dialog .gift-dialog-fields { width:100%; max-width:none; padding:0; }
@keyframes gift-wave { to { transform:scaleY(.45); } }
@media(max-width:600px) {
  #gift-dialog { padding:12px 0 0; align-items:flex-end; }
  #gift-dialog .gift-dialog-sheet { width:100%; height:calc(100dvh - 12px); max-height:calc(100dvh - 12px); border-radius:24px 24px 0 0; }
  #gift-dialog .gift-dialog-head { padding:17px 20px 14px; }
  #gift-dialog .gift-dialog-head h2 { font-size:22px; }
  #gift-dialog .gift-composer-scroll { gap:16px; }
  #gift-dialog .gift-dialog-preview { --gc-text-preview-height:190px; height:190px; }
  #gift-dialog .gift-dialog-preview[data-mode=photos] { --gc-photo-preview-height:208px; height:calc(var(--gc-photo-preview-height) * .7); }
  #gift-dialog .gift-dialog-preview-copy strong { font-size:22px; }
  #gift-dialog .gift-style-art { height:69px; }
  #gift-dialog #gift-message { height:133px; min-height:133px; }
  #gift-dialog .gift-dialog-actions { padding-top:12px; }
}
@media(max-width:360px) { #gift-dialog .gift-composer-scroll { padding-inline:16px; } #gift-dialog .gift-dialog-head { padding-inline:16px; } #gift-dialog #gift-suggest-message { font-size:9px; padding-inline:5px; } #gift-dialog .gift-composer-heading h3 { gap:7px; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { #gift-dialog * { animation:none!important; transition:none!important; } }
@media(max-height:860px) {
  #gift-dialog .gift-dialog-head { padding-block:12px 10px; }
  #gift-dialog .gift-composer-scroll { gap:8px; padding-bottom:8px; }
  #gift-dialog .gift-dialog-preview { --gc-text-preview-height:144px; height:144px; }
  #gift-dialog .gift-dialog-preview[data-mode=photos] { --gc-photo-preview-height:165px; height:calc(var(--gc-photo-preview-height) * .7); }
  #gift-dialog .gift-composer-tabs,#gift-dialog .gift-composer-tabs button { min-height:40px; }
  #gift-dialog .gift-composer-heading { margin-bottom:8px; }
  #gift-dialog #gift-message { height:105px; min-height:105px; font-size:14px; line-height:1.45; }
  #gift-dialog .gift-dialog-field { min-height:31px; padding-block:2px; }
  #gift-dialog .gift-composer-option { min-height:29px; }
  #gift-dialog .gift-dialog-actions { gap:8px; padding-block:10px max(12px,env(safe-area-inset-bottom)); }
  #gift-dialog #gift-view-button { min-height:44px; }
  #gift-dialog #gift-save-button,#gift-dialog #gift-copy-button { min-height:34px; }
  #gift-dialog .gift-dialog-share-button { height:34px; min-height:34px; }
  #gift-dialog .gift-style-art { height:49px; }
  #gift-dialog .gift-style-description { min-height:28px; margin:6px 0 10px; font-size:10px; }
  #gift-dialog .gift-photo-thumb,#gift-dialog .gift-photo-add { height:64px; }
  #gift-dialog #gift-photos-panel .gift-composer-heading { margin-bottom:6px; }
}

/* Photo previews use the same composition as the recipient's gift. */
#gift-dialog #gift-composer-slideshow { width:100%; height:calc(100% - 45px); overflow:hidden; }
#gift-dialog #gift-composer-slideshow .gift-photo-scene { width:52%; min-width:140px; height:100%; margin:auto; overflow:hidden; }
#gift-dialog #gift-composer-slideshow .gift-photo-frame img { object-position:50% 30%; }
#gift-dialog #gift-composer-slideshow .gift-slide-arrow { width:26px; height:30px; }
#gift-dialog #gift-composer-slideshow .gift-slide-arrow span { width:9px; height:9px; }
#gift-dialog #gift-composer-slideshow .gift-slide-dots { display:none; }
#gift-dialog #gift-composer-slideshow .gift-photo-inscription { font-size:6cqw; }
#gift-dialog #gift-composer-slideshow[data-style=album] .gift-photo-heading { top:3%; font-size:2.8cqw; }
#gift-dialog #gift-composer-slideshow[data-style=album] .gift-slide-stage { top:12%; }
#gift-dialog .gift-style-art { background:#00251b; }
#gift-dialog .gift-style-art img { position:absolute; margin:0; border:0; box-shadow:none; transform:none; }
#gift-dialog .gift-style-art::after { display:none; }
#gift-dialog .gift-style-polaroid img { left:35%; top:9%; width:53%; height:65%; border:3px solid #f7f0de; border-bottom-width:7px; transform:rotate(8deg); }
#gift-dialog .gift-style-polaroid img+img { left:12%; top:45%; width:45%; height:54%; transform:rotate(-10deg); }
#gift-dialog .gift-style-polaroid img+img+img { left:60%; top:57%; width:34%; height:43%; transform:rotate(9deg); }
#gift-dialog .gift-style-film img { left:19%; top:-8%; width:44%; height:39%; border:3px solid #00110b; border-inline-width:7px; transform:rotate(7deg); }
#gift-dialog .gift-style-film img+img { top:29%; left:16%; } #gift-dialog .gift-style-film img+img+img { top:66%; left:13%; }
#gift-dialog .gift-style-album { background:#00251b url('/gift-photo-assets/album-book.webp') center / 100% 100% no-repeat; }
#gift-dialog .gift-style-album img { left:20%; top:23%; width:27%; height:28%; border:2px solid #f4e9cf; border-radius:0; transform:rotate(4deg); }
#gift-dialog .gift-style-album img+img { top:57%; } #gift-dialog .gift-style-album img+img+img { top:23%; left:61%; transform:rotate(-4deg); } #gift-dialog .gift-style-album img+img+img+img { top:57%; }

#gift-dialog .gift-style-heart { background:radial-gradient(ellipse,#94672655,#002719 72%); }
#gift-dialog .gift-style-heart img { left:5%; top:5%; width:90%; height:90%; margin:0; mask:url('/gift-photo-assets/heart-mask.svg') center / contain no-repeat; -webkit-mask:url('/gift-photo-assets/heart-mask.svg') center / contain no-repeat; }
#gift-dialog .gift-style-heart::after { display:block; content:''; position:absolute; inset:5%; background:url('/gift-photo-assets/heart-outline.svg') center / contain no-repeat; filter:drop-shadow(0 0 3px #f8c765); }
#gift-dialog .gift-photo-styles button>span:last-child { min-height:30px; }
#gift-dialog #gift-composer-slideshow[data-style=heart] .gift-photo-inscription { font-size:7.2cqw; }

#gift-dialog .gift-style-cinematic img { left:0; top:0; }

#gift-dialog .gift-style-heart { background:#280401 url('/gift-photo-assets/red-romance-background.webp') center / cover; }
#gift-dialog .gift-style-heart img { mask-image:url('/gift-photo-assets/red-heart-mask.svg'); -webkit-mask-image:url('/gift-photo-assets/red-heart-mask.svg'); }
#gift-dialog .gift-style-heart::after { background-image:url('/gift-photo-assets/red-heart-frame.webp'); filter:none; }
#gift-dialog #gift-composer-slideshow[data-style=heart] .gift-photo-inscription { font:400 3.1cqw/1.65 Georgia,serif; }
#gift-dialog .gift-dialog-preview:has([data-style=heart]):not([data-mode=text]) { background:#280401 url('/gift-photo-assets/red-romance-background.webp') center / cover; }
#gift-dialog .gift-dialog-preview[data-mode=photos]:has([data-style=heart]) .gift-composer-wave i { background:#ff4e58; }

#gift-dialog #gift-composer-slideshow[data-style=heart] { container-type:size; }
#gift-dialog #gift-composer-slideshow[data-style=heart] .gift-photo-scene { width:71.428cqh; min-width:0; }
#gift-dialog .gift-dialog-preview[data-mode=photos]:has([data-style=heart]) .gift-dialog-preview-play { border-color:#ff9797; background:radial-gradient(circle at 35% 25%,#fa4a50,#a70e19); box-shadow:0 0 10px #ff383833; }

/* Compact photo preview: artwork and track information have separate columns. */
#gift-dialog .gift-dialog-preview[data-mode=photos] {
  border:0;
  border-radius:16px;
  background:radial-gradient(ellipse at 12% 50%,#09634477,transparent 65%),#03291f;
  box-shadow:0 5px 16px #082a201c;
}
#gift-dialog .gift-dialog-preview[data-mode=photos]:has([data-style=heart]) {
  background:radial-gradient(ellipse at 12% 50%,#9c1b2766,transparent 65%),#290609;
}
#gift-dialog .gift-dialog-preview[data-mode=photos] #gift-composer-slideshow {
  position:absolute;
  inset:0 auto 0 0;
  width:40%;
  height:100%;
  container-type:size;
  mask-image:linear-gradient(to right,#000 76%,transparent);
  -webkit-mask-image:linear-gradient(to right,#000 76%,transparent);
}
#gift-dialog .gift-dialog-preview[data-mode=photos] #gift-composer-slideshow .gift-photo-scene {
  width:min(100%,71.428cqh);
  min-width:0;
  height:100%;
  margin:auto;
  background:transparent;
}
#gift-dialog .gift-dialog-preview[data-mode=photos] #gift-composer-slideshow .gift-photo-scene::before,
#gift-dialog .gift-dialog-preview[data-mode=photos] #gift-composer-slideshow .gift-photo-scene::after { display:none; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy {
  top:16px;
  bottom:auto;
  left:43%;
  right:12px;
  gap:4px;
}
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy strong { font-size:19px; line-height:1.2; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-copy span { font-size:11px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-composer-wave { left:43%; right:70px; bottom:20px; height:22px; }
#gift-dialog .gift-dialog-preview[data-mode=photos] .gift-dialog-preview-play { width:44px; height:44px; right:12px; bottom:12px; }
/* A soft scroll edge prevents cropped photographs from forming a hard line. */
#gift-dialog .gift-composer-scroll {
  mask-image:linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent);
}

/* A compact text-gift player with dedicated space for artwork, title and playback. */
#gift-dialog .gift-dialog-preview[data-mode=text] {
  height:calc(var(--gc-text-preview-height) * .6);
  border:0;
  border-radius:16px;
  box-shadow:0 5px 16px #082a201c;
}
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-composer-box {
  left:2%; top:0; width:30%; height:100%;
}
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-dialog-preview-copy {
  left:35%; right:68px; top:18%; bottom:auto;
}
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-dialog-preview-copy strong {
  font-size:20px; line-height:1.2; -webkit-line-clamp:1;
}
#gift-dialog .gift-dialog-preview[data-mode=text] :is(.gift-preview-seek,.gift-preview-current,.gift-preview-duration,.gift-dialog-preview-copy span) { display:none; }
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-composer-wave {
  left:35%; right:68px; bottom:18%; height:22px; gap:2px;
}
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-dialog-preview-play {
  top:50%; right:12px; bottom:auto; width:44px; height:44px; transform:translateY(-50%);
}
#gift-dialog .gift-dialog-preview[data-mode=text] .gift-composer-sticker { left:24%; top:12%; font-size:18px; }
/* Gift details and sharing match the compact reference layout. */
#gift-dialog .gift-dialog-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; overflow:visible; border:0; border-radius:0; background:transparent; }
#gift-dialog .gift-dialog-field { position:relative; display:flex; flex-direction:column; align-items:stretch; gap:4px; min-width:0; min-height:64px; padding:10px 13px; border:1px solid #e0e5e9; border-radius:13px; background:#f7f8fa; }
#gift-dialog .gift-dialog-field+.gift-dialog-field { border-top:1px solid #e0e5e9; }
#gift-dialog .gift-dialog-field>span { width:auto; flex:0 0 auto; padding:0; color:#78858f; font-size:12px; line-height:1.3; }
#gift-dialog .gift-dialog-field input { min-height:23px; font-size:15px; line-height:1.4; }
#gift-dialog :is(#gift-photo-text-field,#gift-heart-title-field,#gift-heart-subtitle-field) { grid-column:1 / -1; }
#gift-dialog #gift-photo-text-field { padding-bottom:25px; }
#gift-dialog :is(#gift-photo-text,#gift-heart-subtitle) { font-size:15px; line-height:1.4; min-height:42px; }
#gift-dialog #gift-photo-text-count { position:absolute; bottom:8px; right:13px; color:#98a5af; font-size:11px; }
#gift-dialog .gift-photo-text-hint { font-size:11px; margin:6px 0 0; }
#gift-dialog .gift-dialog-actions { gap:14px; padding-top:14px; }
#gift-dialog .gift-dialog-main-actions { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:9px; }
#gift-dialog #gift-view-button { grid-column:auto; min-height:49px; font-size:16px; gap:9px; border-radius:11px; box-shadow:0 5px 14px #00875513; }
#gift-dialog #gift-save-button { min-height:49px; gap:8px; padding:8px; border-color:#95d8be; border-radius:11px; background:#f0faf5; font-size:15px; }
#gift-dialog #gift-save-button::before { display:none; }
#gift-dialog #gift-save-button svg { width:25px; height:25px; flex-shrink:0; }
#gift-dialog .gift-view-arrow { width:21px; height:21px; flex-shrink:0; }
#gift-dialog .gift-dialog-share-block { display:grid; gap:12px; }
#gift-dialog .gift-dialog-share-title { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:14px; color:#73818c; }
#gift-dialog .gift-dialog-share-title strong { font-size:12px; font-weight:500; line-height:1.3; }
#gift-dialog .gift-dialog-share-title span { background:#bdc7cd; }
#gift-dialog .gift-dialog-share-actions { display:grid; grid-template-columns:minmax(0,1fr) 1px repeat(4,40px); align-items:center; gap:10px; }
#gift-dialog #gift-copy-button { display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; height:42px; min-height:42px; padding:5px 7px; border:1px solid #e5e9ec; border-radius:24px; background:#f8f9fa; color:#243b47; box-shadow:none; font-size:13px; font-weight:500; white-space:nowrap; }
#gift-dialog #gift-copy-button svg { color:#008653; width:22px; height:22px; flex-basis:22px; }
#gift-dialog .gift-share-divider { height:23px; background:#c5cdd3; }
#gift-dialog .gift-dialog-share-button { width:40px; height:40px; min-height:40px; padding:0; border:1px solid #e5e9ec; border-radius:50%; background:#f8f9fa; color:#40535e; }
#gift-dialog .gift-dialog-share-button::before { width:21px; height:21px; flex-basis:21px; }
#gift-dialog .gift-dialog-share-button::after,#gift-dialog #gift-share-button::before { display:none; }
#gift-dialog #gift-whatsapp-button { color:#08bd60; }
#gift-dialog #gift-share-button svg { width:23px; height:23px; }
@media(max-width:380px) {
  #gift-dialog .gift-dialog-actions { padding-inline:16px; }
  #gift-dialog .gift-dialog-share-actions { grid-template-columns:minmax(0,1fr) 1px repeat(4,36px); gap:6px; }
  #gift-dialog .gift-dialog-share-button { width:36px; height:36px; min-height:36px; }
  #gift-dialog #gift-copy-button { gap:4px; font-size:11px; padding-inline:5px; }
  #gift-dialog #gift-view-button { font-size:14px; gap:6px; }
  #gift-dialog #gift-save-button { font-size:13px; gap:6px; }
}
/* Keep the tab outlines clear of the header and scroll-edge fade. */
#gift-dialog .gift-composer-scroll { padding-top:10px; mask-image:none; -webkit-mask-image:none; }
#gift-dialog .gift-composer-tabs { margin-bottom:4px; }
