/* Tactile controls: a soft silicone face, a shallow edge and a natural press. */
:root{--button-face:#c96f90;--button-face-light:#d98aa6;--button-face-dark:#b65779;--button-edge:#974360;--button-shadow:#84465d2b}
.landing-cta,.primary,.small-button,.secondary-action,.back,.help,.text-button,.stickers button,.occasion,.style-card,.remove-clause,.title-presets button{-webkit-tap-highlight-color:transparent;transform:translate3d(0,0,0);transform-origin:center bottom;transition:transform 210ms cubic-bezier(.22,.72,.25,1),box-shadow 210ms cubic-bezier(.22,.72,.25,1),background 210ms ease,border-color 210ms ease,color 210ms ease,filter 210ms ease}

/* Pink silicone buttons. The lower shadow is a small physical edge, not a second button. */
.landing-cta,.primary,.custom-add .small-button,.link-box .small-button{position:relative;isolation:isolate;overflow:hidden;border:1px solid #a94c6d3d;border-top-color:#f0b9cb8c;border-bottom-color:#95425f8c;border-radius:22px;color:#fff;background:radial-gradient(130% 105% at 50% -25%,#efb7ca 0%,transparent 48%),linear-gradient(180deg,var(--button-face-light) 0%,var(--button-face) 52%,var(--button-face-dark) 100%);box-shadow:inset 0 1px 1px #fff6,inset 0 -3px 5px #7e354e1c,0 3px 0 var(--button-edge),0 8px 17px var(--button-shadow);text-shadow:0 1px 1px #7132484d}
.landing-cta::after,.primary::after,.custom-add .small-button::after,.link-box .small-button::after{content:'';position:absolute;z-index:-1;left:7%;right:7%;top:2px;height:44%;border-radius:inherit;background:linear-gradient(180deg,#fff3,transparent);pointer-events:none;opacity:.72;transition:opacity 210ms ease,transform 210ms ease}
.landing-cta:hover,.primary:hover,.custom-add .small-button:hover,.link-box .small-button:hover{background:radial-gradient(130% 105% at 50% -25%,#f2bfd0 0%,transparent 49%),linear-gradient(180deg,#dc8da8 0%,#cb7293 52%,#b95b7c 100%);box-shadow:inset 0 1px 1px #fff6,inset 0 -3px 5px #7e354e1c,0 4px 0 var(--button-edge),0 10px 20px #84465d30;transform:translate3d(0,-1px,0)}
.landing-cta:active,.primary:active,.custom-add .small-button:active,.link-box .small-button:active{background:radial-gradient(110% 80% at 50% 0%,#da89a5 0%,transparent 57%),linear-gradient(180deg,#bf6383 0%,#c66c8c 65%,#b95778 100%);box-shadow:inset 0 3px 7px #7130472b,inset 0 -1px 2px #f4b9cc32,0 1px 0 var(--button-edge),0 3px 7px #84465d20;transform:translate3d(0,3px,0) scale(.995);filter:saturate(.97);transition-duration:90ms}
.landing-cta:active::after,.primary:active::after,.custom-add .small-button:active::after,.link-box .small-button:active::after{opacity:.2;transform:translateY(2px);transition-duration:90ms}

/* Quiet secondary controls. */
.small-button,.secondary-action,.back,.help,.text-button,.stickers button,.remove-clause{background:linear-gradient(180deg,#fffefd 0%,#faf5f8 58%,#f2e8ee 100%);border:1px solid #eadde5;border-top-color:#fff;border-radius:15px;box-shadow:inset 0 1px 1px #fff,0 2px 0 #dcc7d2,0 5px 11px #895c720d;color:#9c647d}
.small-button:hover,.secondary-action:hover,.back:hover,.help:hover,.text-button:hover,.stickers button:hover,.remove-clause:hover{background:linear-gradient(180deg,#fff 0%,#fcf6f9 58%,#f4e9ef 100%);border-color:#e5d3dd;box-shadow:inset 0 1px 1px #fff,0 3px 0 #dcc7d2,0 7px 13px #895c7212;transform:translate3d(0,-1px,0)}
.small-button:active,.secondary-action:active,.back:active,.help:active,.text-button:active,.stickers button:active,.remove-clause:active{background:linear-gradient(180deg,#f1e7ed,#f8f1f5);box-shadow:inset 0 3px 5px #986e8114,0 1px 0 #d9c3cf;transform:translate3d(0,2px,0) scale(.99);transition-duration:90ms}

/* Large choice tiles use the same material with a wider, softer face. */
.occasion,.occasion.selected,.style-card,.style-card.selected{background:linear-gradient(155deg,#fff 0%,#fdf9fb 61%,#f7eef3 100%);border:1px solid #ebdce5;border-radius:21px;box-shadow:inset 0 1px 1px #fff,0 3px 0 #e0ccd7,0 7px 14px #8b617518}
.occasion.selected,.style-card.selected{background:linear-gradient(155deg,#fff8fb 0%,#f9eaf1 68%,#f2dae5 100%);border-color:#e5a5be;box-shadow:inset 0 1px 1px #fff,0 3px 0 #d4a5b8,0 7px 15px #8b61751c}
.occasion:hover,.style-card:hover{transform:translate3d(0,-1px,0);box-shadow:inset 0 1px 1px #fff,0 4px 0 #dbc3cf,0 9px 17px #8b61751b}
.occasion:active,.style-card:active{transform:translate3d(0,3px,0) scale(.995);box-shadow:inset 0 3px 6px #976a8017,0 1px 0 #d5b8c7,0 3px 7px #8b61750e;transition-duration:90ms}

.occasion .symbol{width:48px;height:48px;margin:0 auto 11px!important;display:grid!important;place-items:center;color:#df5b89!important}.occasion .symbol svg{width:43px;height:43px;display:block;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #d4809f24)}.occasion{min-height:126px!important}.occasion strong{font-size:14px!important}
.stickers{display:grid!important;grid-template-columns:repeat(6,minmax(42px,1fr));gap:10px!important;margin:12px 0 24px!important}.stickers button{width:100%!important;height:48px!important;font-size:23px!important;border-radius:16px!important}.stickers button.selected{background:linear-gradient(180deg,#fff3f8,#f1d8e3);border-color:#dca9bf;box-shadow:inset 0 1px 1px #fff,0 2px 0 #cea0b4,0 5px 10px #93607816}
.sticker-label{display:flex!important;align-items:baseline;justify-content:space-between;margin:19px 0 0!important}.sticker-label small{font-size:11px;font-weight:400;color:#9b8994}
.landing-mode .help{background:linear-gradient(180deg,#fffefd,#f6edf2);border:1px solid #eee1e8;border-radius:15px;box-shadow:inset 0 1px 1px #fff,0 2px 0 #e0ccd6;padding:10px 14px;color:#99818e}
.text-button{padding:7px 11px}.owner-reminder .text-button{padding:8px 12px;text-decoration:none}.preview-heading .text-button{background:linear-gradient(180deg,#fffdfd,#f5edf2);border:1px solid #eadce5;box-shadow:inset 0 1px 1px #fff,0 2px 0 #ddc9d5}
.footer-actions{padding-bottom:15px}.landing-meta{margin-top:21px}.occasions,.styles{row-gap:16px}.flow-action{margin-bottom:22px}
button:focus-visible{outline:3px solid #bd7899;outline-offset:5px}button:disabled,button:disabled:hover,button:disabled:active{transform:none;cursor:not-allowed;filter:saturate(.6);opacity:.6;box-shadow:inset 0 1px 1px #fff4,0 2px 0 #b894a4}
@media(max-width:760px){.landing-cta,.primary{border-radius:20px}.landing-mode .help{padding:9px 11px}.footer-actions{padding-bottom:14px}.landing-meta{margin-top:20px}.occasion,.occasion.selected{border-radius:19px;min-height:116px!important}.occasion .symbol{width:43px;height:43px}.occasion .symbol svg{width:39px;height:39px}.stickers{grid-template-columns:repeat(5,minmax(42px,1fr))}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}.landing-cta:active,.primary:active,.small-button:active,.secondary-action:active,.back:active,.help:active,.text-button:active,.stickers button:active,.occasion:active,.style-card:active,.remove-clause:active{transform:none!important}}
@media print{button{box-shadow:none!important}}

/* Flat finish: thin borders and color replace the former raised shadows. */
.landing-cta,.primary,.custom-add .small-button,.link-box .small-button,.small-button,.secondary-action,.back,.help,.text-button,.stickers button,.remove-clause,.occasion,.occasion.selected,.style-card,.style-card.selected,.title-presets button{box-shadow:none!important;text-shadow:none}
.landing-cta:hover,.primary:hover,.custom-add .small-button:hover,.link-box .small-button:hover,.small-button:hover,.secondary-action:hover,.back:hover,.help:hover,.text-button:hover,.stickers button:hover,.remove-clause:hover,.occasion:hover,.style-card:hover{box-shadow:none!important;transform:translate3d(0,-1px,0)}
.landing-cta:active,.primary:active,.custom-add .small-button:active,.link-box .small-button:active,.small-button:active,.secondary-action:active,.back:active,.help:active,.text-button:active,.stickers button:active,.remove-clause:active,.occasion:active,.style-card:active{box-shadow:none!important;transform:translate3d(0,1px,0) scale(.995)}
.landing-cta::after,.primary::after,.custom-add .small-button::after,.link-box .small-button::after{opacity:.3}

/* Clean solid controls. */
button,.landing-cta,.primary,.small-button,.secondary-action,.back,.help,.text-button,.remove-clause,.title-presets button,.title-edit-row button{font-family:Onest,Arial,sans-serif;text-shadow:none!important}
.landing-cta,.primary,.custom-add .small-button,.link-box .small-button{border:0!important;background:#f24982!important;color:#fff!important;box-shadow:none!important;border-radius:999px!important;font-weight:600}
.landing-cta::after,.primary::after,.custom-add .small-button::after,.link-box .small-button::after{display:none!important}
.landing-cta:hover,.primary:hover,.custom-add .small-button:hover,.link-box .small-button:hover{background:#df3d73!important;transform:none!important}.landing-cta:active,.primary:active,.custom-add .small-button:active,.link-box .small-button:active{background:#cd3267!important;transform:scale(.985)!important}
.small-button,.secondary-action,.back,.help,.text-button,.remove-clause,.title-presets button,.title-edit-row button{background:#fff!important;border:1px solid #e7dce2!important;color:#6d5d65!important;box-shadow:none!important}.small-button:hover,.secondary-action:hover,.back:hover,.help:hover,.text-button:hover,.remove-clause:hover,.title-presets button:hover,.title-edit-row button:hover{background:#f8f3f6!important;border-color:#ddcbd4!important;transform:none!important}.small-button:active,.secondary-action:active,.back:active,.help:active,.text-button:active,.remove-clause:active,.title-presets button:active,.title-edit-row button:active{background:#f1e9ed!important;transform:scale(.985)!important}
.occasion,.occasion.selected,.style-card,.style-card.selected,.stickers button,.stickers button.selected{background:#fff!important;border:1px solid #e7dce2!important;box-shadow:none!important}.occasion.selected,.style-card.selected,.stickers button.selected{background:#fff0f5!important;border-color:#ee7ea6!important}.occasion:hover,.style-card:hover,.stickers button:hover{background:#faf6f8!important;box-shadow:none!important;transform:none!important}.occasion:active,.style-card:active,.stickers button:active{transform:scale(.985)!important}
@media(max-width:760px){
 .occasion,.occasion.selected{min-height:82px!important;padding:8px!important;border-radius:16px}
 .occasion .symbol{width:43px;height:43px;margin:0 auto 4px!important}
 .occasion:last-child{min-height:62px!important}
}
