/**
 * Opatija editorial blocks — Pass 06.
 * Scoped to Gutenberg content on the Opatija template (front end + editor).
 * Icons are theme-owned CSS masks: nothing depends on SVG persisted in post_content.
 */
:root {
  --opatija-icon-landmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9 12 4l9 5'/%3E%3Cpath d='M4 9h16'/%3E%3Cpath d='M6 9.5v7.5M10 9.5v7.5M14 9.5v7.5M18 9.5v7.5'/%3E%3Cpath d='M4.5 17h15M3 20h18'/%3E%3C/svg%3E");
  --opatija-icon-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.5' cy='18.5' r='1.8'/%3E%3Cpath d='M7.5 18.2c3.2-.3 3.6-3.7 6.6-4.2 2.3-.4 3.6-1.6 3.9-3.6' stroke-dasharray='1.6 2.2'/%3E%3Cpath d='M18 2.8a3.2 3.2 0 0 1 3.2 3.2c0 2.4-3.2 5.2-3.2 5.2s-3.2-2.8-3.2-5.2A3.2 3.2 0 0 1 18 2.8Z'/%3E%3Ccircle cx='18' cy='6' r='1'/%3E%3C/svg%3E");
  --opatija-icon-villa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5 3.2 9.5h2L3 13.8h7L7.8 9.5h2L6.5 3.5Z'/%3E%3Cpath d='M6.5 13.8V20'/%3E%3Cpath d='M12.5 20v-8.2L16.8 8l4.2 3.8V20'/%3E%3Cpath d='M15.3 20v-3.6h3V20'/%3E%3Cpath d='M15.5 12.6h2.6'/%3E%3Cpath d='M2.5 20h19'/%3E%3C/svg%3E");
  --opatija-icon-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.8'/%3E%3Cpath d='m15.6 8.4-2.1 5.1-5.1 2.1 2.1-5.1 5.1-2.1Z'/%3E%3Cpath d='M12 3.2v1.6M12 19.2v1.6M3.2 12h1.6M19.2 12h1.6'/%3E%3C/svg%3E");
  --opatija-icon-people: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20v-.8a6 6 0 0 1 12 0v.8'/%3E%3Cpath d='M16 4.9a3.2 3.2 0 0 1 0 6.2'/%3E%3Cpath d='M18 20v-.8a6 6 0 0 0-3-5.2'/%3E%3C/svg%3E");
  --opatija-icon-area: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5 9 4l6 2.5L21 4v13.5L15 20l-6-2.5L3 20V6.5Z'/%3E%3Cpath d='M9 4v13.5M15 6.5V20'/%3E%3C/svg%3E");
  --opatija-icon-region: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 5.8V11c0 4.5 3 8 7 10 4-2 7-5.5 7-10V5.8L12 3Z'/%3E%3Cpath d='M8 12.5c1.3 0 1.3-1 2.7-1s1.3 1 2.6 1 1.4-1 2.7-1'/%3E%3C/svg%3E");
  --opatija-icon-coast: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15c2 0 2-2 4.5-2S10 15 12 15s2.5-2 4.5-2S19 15 21 15'/%3E%3Cpath d='M3 19c2 0 2-2 4.5-2S10 19 12 19s2.5-2 4.5-2S19 19 21 19'/%3E%3Cpath d='M5 10.5 9.5 4l3.2 4.5L14.5 6l4.5 4.5'/%3E%3C/svg%3E");
  --opatija-icon-history: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12a8.5 8.5 0 1 0 2.5-6'/%3E%3Cpath d='M3.5 4v4h4'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
  --opatija-icon-beach: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a8 8 0 0 1 16 0Z'/%3E%3Cpath d='M12 11v7M12 3v.5'/%3E%3Cpath d='M3 20c1.5 0 1.5-1 3-1s1.5 1 3 1 1.5-1 3-1 1.5 1 3 1 1.5-1 3-1 1.5 1 3 1'/%3E%3C/svg%3E");
  --opatija-icon-pool: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 16V6a2 2 0 0 1 4 0'/%3E%3Cpath d='M15 16V6a2 2 0 0 1 4 0'/%3E%3Cpath d='M9 9h6M9 12.5h6'/%3E%3Cpath d='M3 19c1.5 0 1.5-1 3-1s1.5 1 3 1 1.5-1 3-1 1.5 1 3 1 1.5-1 3-1 1.5 1 3 1'/%3E%3C/svg%3E");
  --opatija-icon-dining: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v18M4.5 3v5a2.5 2.5 0 0 0 5 0V3'/%3E%3Cpath d='M17 21V3c-2 0-3.5 2.5-3.5 6s1.5 4 3.5 4'/%3E%3C/svg%3E");
  --opatija-icon-bar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16l-8 9Z'/%3E%3Cpath d='M12 13v7M8 20h8'/%3E%3Cpath d='M15.5 4 18 1.5'/%3E%3C/svg%3E");
  --opatija-icon-breakfast: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h12v5a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V9Z'/%3E%3Cpath d='M16 10.5h1.5a2.5 2.5 0 0 1 0 5H16'/%3E%3Cpath d='M8 3.5c-.8.9-.8 1.9 0 2.8M12 3.5c-.8.9-.8 1.9 0 2.8'/%3E%3Cpath d='M3 21h15'/%3E%3C/svg%3E");
  --opatija-icon-gym: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.5v5M6.5 7.5v9M17.5 7.5v9M20.5 9.5v5M6.5 12h11'/%3E%3C/svg%3E");
  --opatija-icon-sauna: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18M5 20v-6h14v6'/%3E%3Cpath d='M8 11c-1-1.2-1-2.3 0-3.5s1-2.3 0-3.5M12 11c-1-1.2-1-2.3 0-3.5s1-2.3 0-3.5M16 11c-1-1.2-1-2.3 0-3.5s1-2.3 0-3.5'/%3E%3C/svg%3E");
  --opatija-icon-meeting: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6.5' r='2'/%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Ccircle cx='18' cy='6.5' r='2'/%3E%3Cpath d='M3 13h18M5 13v7M19 13v7'/%3E%3Cpath d='M3.5 11c.5-1.3 1.4-2 2.5-2s2 .7 2.5 2M9.5 9.5c.5-1.3 1.4-2 2.5-2s2 .7 2.5 2M15.5 11c.5-1.3 1.4-2 2.5-2s2 .7 2.5 2'/%3E%3C/svg%3E");
  --opatija-icon-parking: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='17' rx='2.5'/%3E%3Cpath d='M10 16.5v-9h3a3 3 0 0 1 0 6h-3'/%3E%3C/svg%3E");
  --opatija-icon-celebration: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='14' r='5.5'/%3E%3Ccircle cx='15' cy='14' r='5.5'/%3E%3Cpath d='m10.5 4.5 1.5-2 1.5 2-1.5 1.5Z'/%3E%3C/svg%3E");
  --opatija-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 10c0 5-7 11-7 11s-7-6-7-11a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --opatija-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3.5l2 5-2.5 1.5a12 12 0 0 0 6 6l1.5-2.5 5 2V19a2 2 0 0 1-2 2A17 17 0 0 1 3 5.5a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
  --opatija-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E");
  --opatija-gold-gradient: linear-gradient(140deg, #9E7B2A 0%, #C6A13B 42%, #E6D3A0 100%);
  --opatija-card-shadow: 0 1px 2px rgba(10, 34, 49, 0.04), 0 14px 32px -22px rgba(10, 34, 49, 0.35);
  --opatija-card-shadow-hover: 0 2px 4px rgba(10, 34, 49, 0.05), 0 22px 44px -22px rgba(10, 34, 49, 0.42);
  --opatija-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --opatija-icon-size: 2.375rem;
}
@media (min-width: 48rem) { :root { --opatija-icon-size: 2.875rem; } }

/* Positional defaults for already-migrated cards (no icon class saved). Zero specificity: an explicit block style always wins. */
:where(.opatija-guide-cards__grid > .opatija-guide-card:nth-child(4n+1)) { --opatija-icon: var(--opatija-icon-landmark); }
:where(.opatija-guide-cards__grid > .opatija-guide-card:nth-child(4n+2)) { --opatija-icon: var(--opatija-icon-route); }
:where(.opatija-guide-cards__grid > .opatija-guide-card:nth-child(4n+3)) { --opatija-icon: var(--opatija-icon-villa); }
:where(.opatija-guide-cards__grid > .opatija-guide-card:nth-child(4n+4)) { --opatija-icon: var(--opatija-icon-compass); }
:where(.opatija-editorial-card:nth-child(3n+1)) .opatija-editorial-card__fallback { --opatija-icon: var(--opatija-icon-landmark); }
:where(.opatija-editorial-card:nth-child(3n+2)) .opatija-editorial-card__fallback { --opatija-icon: var(--opatija-icon-villa); }
:where(.opatija-editorial-card:nth-child(3n+3)) .opatija-editorial-card__fallback { --opatija-icon: var(--opatija-icon-coast); }
:where(.opatija-fact) { --opatija-icon: var(--opatija-icon-compass); }
.is-style-opatija-icon-landmark, .opatija-icon--landmark { --opatija-icon: var(--opatija-icon-landmark); }
.is-style-opatija-icon-route, .opatija-icon--route { --opatija-icon: var(--opatija-icon-route); }
.is-style-opatija-icon-villa, .opatija-icon--villa { --opatija-icon: var(--opatija-icon-villa); }
.is-style-opatija-icon-compass, .opatija-icon--compass { --opatija-icon: var(--opatija-icon-compass); }
.is-style-opatija-icon-people, .opatija-icon--people { --opatija-icon: var(--opatija-icon-people); }
.is-style-opatija-icon-area, .opatija-icon--area { --opatija-icon: var(--opatija-icon-area); }
.is-style-opatija-icon-region, .opatija-icon--region { --opatija-icon: var(--opatija-icon-region); }
.is-style-opatija-icon-coast, .opatija-icon--coast { --opatija-icon: var(--opatija-icon-coast); }
.is-style-opatija-icon-history, .opatija-icon--history { --opatija-icon: var(--opatija-icon-history); }
.is-style-opatija-icon-beach, .opatija-icon--beach { --opatija-icon: var(--opatija-icon-beach); }
.is-style-opatija-icon-pool, .opatija-icon--pool { --opatija-icon: var(--opatija-icon-pool); }
.is-style-opatija-icon-dining, .opatija-icon--dining { --opatija-icon: var(--opatija-icon-dining); }
.is-style-opatija-icon-bar, .opatija-icon--bar { --opatija-icon: var(--opatija-icon-bar); }
.is-style-opatija-icon-breakfast, .opatija-icon--breakfast { --opatija-icon: var(--opatija-icon-breakfast); }
.is-style-opatija-icon-gym, .opatija-icon--gym { --opatija-icon: var(--opatija-icon-gym); }
.is-style-opatija-icon-sauna, .opatija-icon--sauna { --opatija-icon: var(--opatija-icon-sauna); }
.is-style-opatija-icon-meeting, .opatija-icon--meeting { --opatija-icon: var(--opatija-icon-meeting); }
.is-style-opatija-icon-parking, .opatija-icon--parking { --opatija-icon: var(--opatija-icon-parking); }
.is-style-opatija-icon-celebration, .opatija-icon--celebration { --opatija-icon: var(--opatija-icon-celebration); }
.is-style-opatija-icon-pin, .opatija-icon--pin { --opatija-icon: var(--opatija-icon-pin); }
.is-style-opatija-icon-phone, .opatija-icon--phone { --opatija-icon: var(--opatija-icon-phone); }
.is-style-opatija-icon-mail, .opatija-icon--mail { --opatija-icon: var(--opatija-icon-mail); }

.opatija-guide-card::before,
.opatija-fact::before,
.opatija-editorial-card__fallback::before {
  content: "";
  display: block;
  flex: none;
  width: var(--opatija-icon-size);
  height: var(--opatija-icon-size);
  background: var(--opatija-gold-gradient);
  -webkit-mask: var(--opatija-icon) center / contain no-repeat;
  mask: var(--opatija-icon) center / contain no-repeat;
}
/* Legacy inline icon from the migrated Custom HTML block: superseded by the theme icon. */
.opatija-guide-card__icon { display: none; }

/* Rhythm: compact editorial bands instead of isolated islands. */
.opatija-editorial-content > .wp-block-group { margin: 0; }
/* Padding (relative to page width) makes the content box equal to --container, so every child shares one left edge. */
.opatija-editorial-content .opatija-editorial-section { padding-block: var(--s48); padding-inline: max(var(--s16), (100% - var(--container)) / 2); }
.opatija-editorial-content .opatija-editorial-section > * { max-width: var(--container); margin-block: 0; }
/* Core constrained layout centres every child with forced auto margins; text blocks must align left with the cards instead. */
.opatija-editorial-content .opatija-editorial-section > :is(.eyebrow, h2, p, ul, ol),
.editor-styles-wrapper .opatija-editorial-section > :is(.eyebrow, h2, p, ul, ol) { margin-inline: 0 auto !important; }
.editor-styles-wrapper .opatija-editorial-section { padding-inline: max(1rem, (100% - var(--container, 75rem)) / 2); }
.editor-styles-wrapper .opatija-editorial-section > * { max-width: var(--container, 75rem); }
.editor-styles-wrapper .opatija-editorial-section > :is(.eyebrow, h2, p) { max-width: var(--measure, 68ch); }
.opatija-editorial-content .opatija-editorial-section > * + * { margin-block-start: var(--s16); }
.opatija-editorial-content .opatija-editorial-section > .eyebrow + h2 { margin-block-start: var(--s8); }
.opatija-editorial-content .opatija-editorial-section > .eyebrow,
.opatija-editorial-content .opatija-editorial-section > h2,
.opatija-editorial-content .opatija-editorial-section > p { max-width: var(--measure); }
.opatija-editorial-content .opatija-editorial-section > h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.15; }
.opatija-editorial-content .opatija-editorial-section > p:not(.eyebrow) { color: var(--domino-muted); font-size: 1.0625rem; line-height: 1.75; }
.opatija-editorial-content .opatija-editorial-section > .wp-block-columns,
.opatija-editorial-content .opatija-editorial-section > .opatija-facts__grid { margin-block-start: var(--s32); }
/* Intro (any section without a card modifier) flows straight into the guide cards on the same paper surface. */
.opatija-editorial-content .opatija-editorial-section:not(.opatija-guide-cards):not(.opatija-editorial-cards):not(.opatija-facts):not([class*="domino-"]) > p:not(.eyebrow) { color: var(--domino-ink); font-size: 1.125rem; }
/* Intro (section without a modifier) flows into the next band on the same paper surface. */
.opatija-editorial-content .opatija-editorial-section:not(.opatija-guide-cards):not(.opatija-editorial-cards):not(.opatija-facts):not([class*="domino-"]):has(+ .opatija-editorial-section:not(.opatija-editorial-cards):not(.opatija-facts):not(.domino-highlight)) { padding-bottom: var(--s16); }
.opatija-editorial-content .opatija-editorial-section:not(.opatija-guide-cards):not(.opatija-editorial-cards):not(.opatija-facts):not([class*="domino-"]) + .opatija-editorial-section:not(.opatija-editorial-cards):not(.opatija-facts):not(.domino-highlight) { padding-top: var(--s24); }
.opatija-editorial-content .domino-pricelist + .domino-conditions { padding-top: 0; }
@media (min-width: 48rem) {
  .opatija-editorial-content .opatija-editorial-section { padding-block: var(--s64); padding-inline: max(var(--s24), (100% - var(--container)) / 2); }
  .opatija-editorial-content .opatija-editorial-section > .wp-block-columns,
  .opatija-editorial-content .opatija-editorial-section > .opatija-facts__grid { margin-block-start: var(--s48); }
  .opatija-editorial-content .opatija-editorial-section:not(.opatija-guide-cards):not(.opatija-editorial-cards):not(.opatija-facts):not([class*="domino-"]):has(+ .opatija-editorial-section:not(.opatija-editorial-cards):not(.opatija-facts):not(.domino-highlight)) { padding-bottom: var(--s24); }
  .opatija-editorial-content .opatija-editorial-section:not(.opatija-guide-cards):not(.opatija-editorial-cards):not(.opatija-facts):not([class*="domino-"]) + .opatija-editorial-section:not(.opatija-editorial-cards):not(.opatija-facts):not(.domino-highlight) { padding-top: var(--s24); }
}
@media (min-width: 64rem) { .opatija-editorial-content .opatija-editorial-section { padding-block: calc(var(--s64) + var(--s16)); } }

/* Guide cards: 2x2 navigation cards, whole card clickable through its one link. */
.opatija-guide-cards { background: var(--domino-paper); }
.opatija-editorial-content .opatija-guide-cards .opatija-guide-cards__grid { display: grid; grid-template-columns: 1fr; gap: var(--s16); }
.opatija-guide-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--s12);
  padding: var(--s24);
  background: linear-gradient(90deg, #B08D33, #E6D3A0) top / 100% 2px no-repeat, #fff;
  border: 1px solid var(--domino-line, #E2DCCC);
  border-radius: 4px;
  box-shadow: var(--opatija-card-shadow);
  transition: transform 0.32s var(--opatija-ease), box-shadow 0.32s var(--opatija-ease), border-color 0.32s ease;
}
.opatija-guide-card::before { margin-bottom: var(--s8); transition: transform 0.32s var(--opatija-ease); }
.opatija-editorial-content .opatija-guide-card > * { margin: 0; }
.opatija-guide-card h3 { font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 500; line-height: 1.2; color: var(--domino-sea); }
.opatija-guide-card p { max-width: 46ch; color: var(--domino-muted); line-height: 1.65; }
.opatija-guide-card .wp-block-buttons { margin-top: auto; padding-top: var(--s8); }
.opatija-guide-card .wp-block-button__link { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0; border-radius: 0; background: transparent; color: var(--domino-sea); font-family: var(--font-label); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
.opatija-guide-card .wp-block-button__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.opatija-guide-card .wp-block-button__link:focus-visible { outline: none; }
.opatija-guide-card:hover, .opatija-guide-card:focus-within { transform: translateY(-3px); border-color: rgba(198, 161, 59, 0.55); box-shadow: var(--opatija-card-shadow-hover); }
.opatija-guide-card:hover::before, .opatija-guide-card:focus-within::before { transform: translateY(-2px); }
.opatija-guide-card:hover .wp-block-button__link { color: var(--domino-blue); }
.opatija-guide-card:focus-within { outline: 3px solid var(--domino-focus); outline-offset: 3px; }
.opatija-guide-card:has(.wp-block-button__link:focus:not(:focus-visible)) { outline: none; }
@media (min-width: 48rem) {
  .opatija-editorial-content .opatija-guide-cards .opatija-guide-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s24); }
  .opatija-guide-card { min-height: 17rem; padding: var(--s32) var(--s32) var(--s24); }
}

/* Editorial photo cards: equal ratio, equal height, no broken placeholders. */
.opatija-editorial-cards { background: var(--domino-sand); }
.opatija-editorial-content .opatija-editorial-cards .wp-block-columns { display: grid; grid-template-columns: 1fr; gap: var(--s24); }
.opatija-editorial-card {
  display: flex;
  flex-direction: column;
  gap: var(--s12);
  min-height: 100%;
  padding: 0 0 var(--s32);
  background: #fff;
  border: 1px solid rgba(10, 34, 49, 0.08);
  border-radius: 4px;
  box-shadow: var(--opatija-card-shadow);
  overflow: hidden;
}
.opatija-editorial-content .opatija-editorial-card > * { margin: 0; }
.opatija-editorial-card > :not(.wp-block-image):not(.opatija-editorial-card__fallback) { margin-inline: var(--s24); }
.opatija-editorial-card > .wp-block-image, .opatija-editorial-card > .opatija-editorial-card__fallback { margin-bottom: var(--s12); }
.opatija-editorial-card .wp-block-image { overflow: hidden; }
.opatija-editorial-card .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.opatija-editorial-card__fallback { display: grid; place-items: center; aspect-ratio: 4 / 3; background: radial-gradient(circle at 30% 25%, #FBF8F1 0%, #EFE8DA 70%); border-bottom: 1px solid rgba(198, 161, 59, 0.28); }
.opatija-editorial-card__fallback::before { width: calc(var(--opatija-icon-size) * 1.5); height: calc(var(--opatija-icon-size) * 1.5); opacity: 0.85; }
.opatija-editorial-card .eyebrow { color: var(--domino-blue); }
.opatija-editorial-card h3 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; line-height: 1.2; color: var(--domino-sea); }
.opatija-editorial-card p:not(.eyebrow) { color: var(--domino-muted); line-height: 1.7; }
@media (min-width: 48rem) {
  .opatija-editorial-content .opatija-editorial-cards .wp-block-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s24); }
  .opatija-editorial-card > :not(.wp-block-image):not(.opatija-editorial-card__fallback) { margin-inline: var(--s32); }
}

/* Opatija facts band: compact, sourced, editable. */
.opatija-facts { background: #fff; border-top: 1px solid var(--domino-line, #E2DCCC); }
.opatija-editorial-content .opatija-facts__grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--domino-line, #E2DCCC); border: 1px solid var(--domino-line, #E2DCCC); }
.opatija-fact { display: grid; align-content: start; gap: var(--s8); padding: var(--s24); background: var(--domino-paper, #FAF7F1); }
.opatija-fact::before { margin-bottom: var(--s8); }
.opatija-editorial-content .opatija-facts__grid > .opatija-fact, .opatija-editorial-content .opatija-fact > * { margin: 0; }
.opatija-fact .opatija-fact__value { font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; color: var(--domino-sea); }
.opatija-fact .opatija-fact__label { color: var(--domino-ink); line-height: 1.5; }
.opatija-fact .opatija-fact__source { margin-top: var(--s4); color: var(--domino-muted); font-size: 0.8125rem; line-height: 1.5; }
.opatija-fact .opatija-fact__source a { color: inherit; text-decoration: underline; text-decoration-color: rgba(198, 161, 59, 0.7); text-underline-offset: 0.2em; }
.opatija-fact .opatija-fact__source a:hover { color: var(--domino-sea); }
@media (min-width: 40rem) { .opatija-editorial-content .opatija-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .opatija-editorial-content .opatija-facts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .opatija-fact { padding: var(--s32); } }

@media (prefers-reduced-motion: reduce) {
  .opatija-guide-card, .opatija-guide-card::before { transition: none; }
  .opatija-guide-card:hover, .opatija-guide-card:focus-within, .opatija-guide-card:hover::before, .opatija-guide-card:focus-within::before { transform: none; }
}

/* Editor canvas: let the card grids use the full content width. */
.editor-styles-wrapper .opatija-editorial-section .wp-block-columns,
.editor-styles-wrapper .opatija-facts__grid { max-width: var(--container, 75rem); }
.editor-styles-wrapper .opatija-guide-cards__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.editor-styles-wrapper .opatija-facts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; }

/* ---------- Gutenberg page modules (tpl-editorial: Dodatni sadržaj, Cjenik, 360°, Kontakt) ---------- */
.editorial-hero--plain { min-height: 0; background: var(--domino-sea); }
.editorial-hero--plain .seaside-hero__inner { padding-block: calc(var(--s64) + var(--s32)) var(--s48); }

.opatija-editorial-content .domino-amenities__grid { display: grid; grid-template-columns: 1fr; gap: var(--s16); }
.opatija-editorial-content .domino-amenities__grid > .opatija-guide-card { margin: 0; }
@media (min-width: 48rem) { .opatija-editorial-content .domino-amenities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s24); } }
@media (min-width: 64rem) { .opatija-editorial-content .domino-amenities__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Cards without a link are information, not navigation: no lift. */
.opatija-guide-card:not(:has(a)):hover { transform: none; border-color: var(--domino-line, #E2DCCC); box-shadow: var(--opatija-card-shadow); }
.opatija-guide-card:not(:has(a)):hover::before { transform: none; }

.opatija-editorial-content .opatija-editorial-section > .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--s12); margin-block-start: var(--s24); }
.opatija-editorial-content .opatija-editorial-section > .wp-block-buttons .wp-block-button__link { display: inline-flex; align-items: center; min-height: 3rem; padding: 0.85rem 1.5rem; border: 1px solid var(--domino-sea); border-radius: 2px; background: var(--domino-sea); color: #fff; font-family: var(--font-label); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s var(--opatija-ease); }
.opatija-editorial-content .opatija-editorial-section > .wp-block-buttons .is-style-outline .wp-block-button__link { background: transparent; color: var(--domino-sea); }
.opatija-editorial-content .opatija-editorial-section > .wp-block-buttons .wp-block-button__link:hover { transform: translateY(-2px); background: var(--domino-blue); border-color: var(--domino-blue); color: #fff; }

.opatija-editorial-content .domino-highlight { background: #10324A; color: #fff; border-bottom: 1px solid rgba(198, 161, 59, 0.35); }
.opatija-editorial-content .domino-highlight > h2 { color: #fff; }
.opatija-editorial-content .domino-highlight > .eyebrow { color: var(--domino-gold); }
.opatija-editorial-content .domino-highlight > p:not(.eyebrow), .opatija-editorial-content .domino-highlight li { color: rgba(255, 255, 255, 0.86); }
.opatija-editorial-content .domino-highlight > ul { display: grid; gap: var(--s12); padding: 0; list-style: none; max-width: var(--measure); }
.opatija-editorial-content .domino-highlight > ul li { margin: 0; position: relative; padding-left: var(--s24); line-height: 1.6; }
.opatija-editorial-content .domino-highlight > ul li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--opatija-gold-gradient); }
.opatija-editorial-content .domino-highlight > ul li strong { color: #fff; }
.opatija-editorial-content .domino-highlight > .wp-block-buttons .wp-block-button__link { background: var(--domino-gold); border-color: var(--domino-gold); color: var(--domino-sea); }
.opatija-editorial-content .domino-highlight > .wp-block-buttons .is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255, 255, 255, 0.7); color: #fff; }

.opatija-editorial-content .domino-price-table { background: linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0)) left / 2rem 100% no-repeat local, linear-gradient(270deg, #fff 30%, rgba(255, 255, 255, 0)) right / 2rem 100% no-repeat local, radial-gradient(farthest-side at 100% 50%, rgba(10, 34, 49, 0.18), transparent) right / 0.75rem 100% no-repeat scroll, #fff; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--domino-line, #E2DCCC); border-radius: 4px; }
.opatija-editorial-content .domino-price-table thead { border-bottom: 0; }
.opatija-editorial-content .domino-price-table table { width: 100%; min-width: 44rem; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.opatija-editorial-content .domino-price-table th, .opatija-editorial-content .domino-price-table td { padding: 0.9rem 1rem; border: 0; border-bottom: 1px solid var(--domino-line, #E2DCCC); text-align: right; vertical-align: top; }
.opatija-editorial-content .domino-price-table thead th { background: var(--domino-sand); color: var(--domino-sea); font-family: var(--font-label); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
.opatija-editorial-content .domino-price-table th:first-child, .opatija-editorial-content .domino-price-table td:first-child { text-align: left; font-weight: 600; color: var(--domino-sea); }
.opatija-editorial-content .domino-price-table tbody tr:last-child td { border-bottom: 0; }
.opatija-editorial-content .domino-price-table figcaption { padding: var(--s12) 1rem; color: var(--domino-muted); font-size: 0.8125rem; text-align: left; }
.opatija-editorial-content .domino-conditions > ul { display: grid; gap: var(--s12); max-width: none; padding: 0; list-style: none; }
.opatija-editorial-content .domino-conditions > ul li { margin: 0; position: relative; padding-left: var(--s24); color: var(--domino-ink); line-height: 1.6; }
.opatija-editorial-content .domino-conditions > ul li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--opatija-gold-gradient); }
@media (min-width: 64rem) { .opatija-editorial-content .domino-conditions > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s48); } }

.domino-tour__stage { position: relative; display: grid; place-items: center; width: 100%; height: max(20rem, min(56.25vw, 42rem)); overflow: hidden; border-radius: 4px; background: radial-gradient(circle at 50% 40%, #12405A 0%, var(--domino-sea, #0A2231) 70%); box-shadow: var(--opatija-card-shadow); }
.domino-tour.is-loaded .domino-tour__stage { background: #000; }
.domino-tour__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.6; }
.domino-tour__play { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: var(--s12); min-height: 3.25rem; padding: 0.75rem 1.5rem 0.75rem 0.75rem; border: 0; border-radius: 999px; background: var(--domino-gold, #C6A13B); color: var(--domino-sea, #0A2231); font-family: var(--font-label); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: transform 0.28s var(--opatija-ease), box-shadow 0.28s var(--opatija-ease); }
.domino-tour__play:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.6); }
.domino-tour__play:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.domino-tour__badge { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1.5px solid currentColor; border-radius: 50%; font-size: 0.75rem; letter-spacing: 0; }
.domino-tour__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.opatija-editorial-content .opatija-editorial-section > .domino-tour { margin-block-start: var(--s32); }
.opatija-editorial-content .opatija-editorial-section > p.domino-tour__credit { font-size: 0.875rem; }
.opatija-editorial-content .domino-tour__open { margin: var(--s12) 0 0; font-size: 0.875rem; }
.domino-tour__open a { color: var(--domino-sea); text-underline-offset: 0.2em; }

.opatija-editorial-content .domino-contact__grid { display: grid; grid-template-columns: 1fr; gap: var(--s32); }
.opatija-editorial-content .domino-contact__grid > .wp-block-column > * + * { margin-block-start: var(--s16); }
@media (min-width: 64rem) { .opatija-editorial-content .domino-contact__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s64); } }
.domino-contact-details { font-style: normal; }
.domino-contact-details__company { margin: 0 0 var(--s8); font-family: var(--font-display); font-size: 1.25rem; color: var(--domino-sea); }
.domino-contact-details ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--domino-line, #E2DCCC); }
.domino-contact-details li { display: grid; grid-template-columns: 1.75rem 1fr; column-gap: var(--s12); align-items: start; padding-block: var(--s16); border-bottom: 1px solid var(--domino-line, #E2DCCC); }
.domino-contact-details__icon { grid-row: span 2; width: 1.5rem; height: 1.5rem; color: var(--domino-gold); }
.domino-contact-details__label { color: var(--domino-muted); font-family: var(--font-label); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.domino-contact-details a { color: var(--domino-sea); font-size: 1.125rem; text-decoration: none; overflow-wrap: anywhere; }
.domino-contact-details a:hover { color: var(--domino-blue); text-decoration: underline; text-underline-offset: 0.2em; }

.domino-form { padding: var(--s24); border: 1px solid var(--domino-line, #E2DCCC); border-radius: 4px; background: #fff; box-shadow: var(--opatija-card-shadow); }
@media (min-width: 48rem) { .domino-form { padding: var(--s32) var(--s48); } }
.domino-form .wpcf7-form { display: grid; gap: var(--s16); }
.domino-form .wpcf7-form > p, .domino-form .domino-form__row > p { margin: 0; }
.domino-form .domino-form__row { display: grid; gap: var(--s16); }
@media (min-width: 40rem) { .domino-form .domino-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.domino-form label { display: grid; gap: var(--s4); color: var(--domino-ink); font-size: 0.875rem; font-weight: 600; }
.domino-form input[type="text"], .domino-form input[type="email"], .domino-form input[type="tel"], .domino-form input[type="date"], .domino-form input[type="number"], .domino-form select, .domino-form textarea { width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; border: 1px solid #CFC7B6; border-radius: 2px; background: #fff; color: var(--domino-ink); font: inherit; font-weight: 400; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.domino-form textarea { height: 10rem; min-height: 8rem; resize: vertical; }
.opatija-editorial-content .domino-contact__grid h3 { font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 500; color: var(--domino-sea); }
.domino-form input:focus, .domino-form select:focus, .domino-form textarea:focus { border-color: var(--domino-gold, #C6A13B); box-shadow: 0 0 0 3px rgba(198, 161, 59, 0.28); outline: none; }
.domino-form .wpcf7-acceptance label { display: flex; gap: var(--s8); align-items: flex-start; font-weight: 400; }
.domino-form .wpcf7-list-item { margin: 0; }
.domino-form .wpcf7-submit { min-height: 3.25rem; padding: 0.9rem 2rem; border: 0; border-radius: 2px; background: var(--domino-sea); color: #fff; font-family: var(--font-label); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: background-color 0.25s ease, transform 0.25s var(--opatija-ease); }
.domino-form .wpcf7-submit:hover { background: var(--domino-blue); transform: translateY(-2px); }
.domino-form .wpcf7-not-valid-tip { margin-top: var(--s4); color: #A33A2B; font-size: 0.8125rem; font-weight: 400; }
.domino-form .wpcf7-response-output { margin: 0; padding: var(--s12) var(--s16); border-radius: 2px; }
.domino-form .wpcf7-spinner { vertical-align: middle; }
.domino-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.domino-form--fallback p { margin: 0; font-size: 1.0625rem; line-height: 1.7; }
.domino-form__admin-note { margin-top: var(--s12); padding: var(--s12); border: 1px dashed var(--domino-gold); font-size: 0.875rem; }

@media (prefers-reduced-motion: reduce) {
  .domino-tour__play, .domino-form .wpcf7-submit, .opatija-editorial-content .opatija-editorial-section > .wp-block-buttons .wp-block-button__link { transition: none; }
  .domino-tour__play:hover, .domino-form .wpcf7-submit:hover, .opatija-editorial-content .opatija-editorial-section > .wp-block-buttons .wp-block-button__link:hover { transform: none; }
}
.editor-styles-wrapper .domino-amenities__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
